! { 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
