! { dg-do compile } ! ! PR 36704: Procedure pointer as function result ! ! Contributed by Janus Weil module proc_ptr_15 interface function e(x) real :: x procedure(), pointer :: e end function e end interface interface function f(x) real :: x external :: f pointer :: f end function end interface interface function g(x) real :: x pointer :: g external :: g end function end interface contains subroutine point_fun() call set_fun(aux) end subroutine subroutine set_fun(y) external :: y end subroutine function aux() external aux pointer aux intrinsic sin aux => sin end function function foo(x) real :: x interface subroutine foo(i) ! { dg-error "attribute conflicts with" } integer :: i end subroutine end interface !pointer :: foo end function end