3 ! Test the fix for PR100103
10 integer, parameter :: n
= 11
16 type(foo_t
), parameter :: a(*) = [(foo_t(i
), i
=1,n
)]
18 type(foo_t
), allocatable
:: bar_d(:)
19 class(foo_t
), allocatable
:: bar_p(:)
20 class(*), allocatable
:: bar_u(:)
24 if(.not
.allocated(bar_d
)) stop 1
25 if(any(bar_d
%i
/=a
%i
)) stop 2
28 if(.not
.allocated(bar_p
)) stop 3
29 if(any(bar_p
%i
/=a
%i
)) stop 4
32 if(.not
.allocated(bar_u
)) stop 5
35 if(any(bar_u
%i
/=a
%i
)) stop 6
43 subroutine foo_d(that
)
44 type(foo_t
), allocatable
, intent(out
) :: that(..)
54 subroutine foo_p(that
)
55 class(foo_t
), allocatable
, intent(out
) :: that(..)
65 subroutine foo_u(that
)
66 class(*), allocatable
, intent(out
) :: that(..)