blob: b77e40b7b692e33b80261e5af3b2854c73e3865b [file] [log] [blame]
! { dg-do run }
!
! PR 54285: [F03] Calling a PPC with proc-ptr result
!
! Contributed by Janus Weil <janus@gcc.gnu.org>
type :: t
procedure(a), pointer, nopass :: p
end type
type(t) :: x
! We cannot use "iabs" directly as it is elemental.
abstract interface
pure integer function interf_iabs(x)
integer, intent(in) :: x
end function interf_iabs
end interface
procedure(interf_iabs), pointer :: pp
x%p => a
pp => x%p()
if (pp(-3) /= 3) call abort
contains
function a() result (b)
procedure(interf_iabs), pointer :: b
b => iabs
end function
end