blob: 52c2e7a7a42d2d707a247003f74215871e3e2258 [file] [log] [blame]
! { dg-do run }
! { dg-options "-O3" }
! Check that the derived types are correctly substituted when
! whole file compiling.
!
! Contributed by Dominique d'Humieres <dominiq@lps.ens.fr
!
module global
type :: mytype
type(mytype),pointer :: this
end type mytype
type(mytype),target :: base
end module global
program test_equi
use global
call check()
print *, "base%this%this=>base?" , associated(base%this%this,base)
print *, "base%this%this=>?" , associated(base%this%this)
print *, "base%this=>?" , associated(base%this)
contains
subroutine check()
type(mytype),target :: j
base%this => j !have the variables point
j%this => base !to one another
end subroutine check !take j out of scope
end program test_equi