! { dg-do run } | |
! | |
! PR fortran/41777 | |
! | |
module m | |
type t2 | |
integer :: i | |
end type t2 | |
interface f | |
module procedure f2 | |
end interface f | |
contains | |
function f2(a) | |
type(t2), pointer :: f2,a | |
f2 => a | |
end function f2 | |
end module m | |
use m | |
implicit none | |
type(t2), pointer :: a | |
allocate(a) | |
if (.not. associated(a,f(a))) STOP 1 | |
call cmpPtr(a,f2(a)) | |
call cmpPtr(a,f(a)) | |
deallocate(a) | |
contains | |
subroutine cmpPtr(a,b) | |
type(t2), pointer :: a,b | |
! print *, associated(a,b) | |
if (.not. associated (a, b)) STOP 2 | |
end subroutine cmpPtr | |
end |