8 class(*), pointer :: bar(:)
11 class(t
), allocatable
:: my(:)
14 function f (x
, y
) result(z
)
16 class(t
) :: y(size(x(1)%bar
))
17 type(t
) :: z(size(x(1)%bar
))
19 function g (x
) result(z
)
21 type(t
) :: z(size(x(1)%bar
))
24 class(t2
), allocatable
:: a(:), b(:), c(:), d(:)
25 class(t2
), pointer :: p(:)
26 c(1)%my
= f (a(1)%my
, b(1)%my
)
31 ! Contributed by G. Steinmetz:
39 function f(x
) result(z
)
41 type(t
) :: z(size(x
%a
))
47 class(t
), allocatable
:: y(:), z(:)
50 if (size(z
) /= 32) stop 1
51 if (any (z
%a
/= 42)) stop 2