blob: d2e57f56780a1feed1e3d0a75987947003bb7119 [file] [log] [blame]
! { dg-do run }
! { dg-options "-fcoarray=single" }
!
! Contributed by Gerhard Steinmetz <gerhard.steinmetz.fortran@t-online.de>
! Andre Vehreschild <vehre@gcc.gnu.org>
! Check that PR fortran/69451 is fixed.
program main
implicit none
type foo
end type
class(foo), allocatable :: p[:]
class(foo), pointer :: r
class(*), allocatable, target :: z
allocate(p[*])
call s(p, z)
select type (z)
class is (foo)
r => z
class default
STOP 1
end select
if (.not. associated(r)) STOP 2
deallocate(r)
deallocate(p)
contains
subroutine s(x, z)
class(*) :: x[*]
class(*), allocatable:: z
allocate (z, source=x)
end
end