3 ! Test the fix for PR69739 in which the statement
4 ! R = operate(A, X) caused an ICE.
6 ! Contributed by John <jwmwalrus@gmail.com>
11 type, public
:: sometype
16 function dosomething(A
) result(r
)
17 type(sometype
), intent(IN
) :: A(:,:,:)
19 real, allocatable
:: R(:), X(:)
21 N
= PRODUCT(UBOUND(A
))
23 X
= [(real(N
), N
= 1, size(X
, 1))]
27 function operate(A
, X
)
28 type(sometype
), intent(IN
) :: A(:,:,:)
29 real, intent(IN
) :: X(:)
30 real :: operate(1:PRODUCT(UBOUND(A
)))
37 type(sometype
) :: a(2, 2, 2)
38 if (any(int (dosomething(a
)) .ne
. [1,2,3,4,5,6])) call abort