! { dg-do run } ! ! Checks PDTs with ASSOCIATE. ! Was failing for same reason as PR60483. ! ! Contributed by Reinhold Bader ! module matrix_mod_assumed_05 implicit none type :: matrix(rk, n, m) integer, kind :: rk integer, len :: n, m real(rk) :: entry(n, m) end type matrix integer, parameter :: rk=kind(1.d0) integer :: mm=20, nn=15 contains function factory() type(matrix(rk, :, :)), allocatable :: factory allocate(matrix(rk, nn, mm) :: factory) end function end module program test use matrix_mod_assumed_05 implicit none associate (o_matrix => factory()) if (o_matrix%n == nn .and. o_matrix%m == mm) then ! Symbol 'o_matrix' at (1) has no IMPLICIT type write(*,*) 'OK' else write(*,*) 'FAIL' STOP 1 end if end associate end program test