4 ! This ICE'd because the temporary-creation in the MVBITS call was wrong.
15 TYPE(inner
) :: comp(2)
20 var
%comp
%i
= (/ 1, 2 /)
21 var
%comp
%j
= (/ 3, 4 /)
23 CALL foobar (var
, 1, 2)
25 IF (ANY (var
%comp
%i
/= (/ 1, 2 /))) STOP 1
26 IF (ANY (var
%comp
%j
/= (/ 3, 4 /))) STOP 2
30 SUBROUTINE foobar (x
, lower
, upper
)
31 TYPE(outer
), INTENT(INOUT
) :: x
32 INTEGER, INTENT(IN
) :: lower
, upper
33 CALL MVBITS (x
%comp
%i
, 1, 2, x
%comp(lower
:upper
)%i
, 1)