57 lines
739 B
Fortran
57 lines
739 B
Fortran
! { dg-do compile }
|
|
!
|
|
! PROCEDURE POINTERS & pointer-valued functions
|
|
!
|
|
! Contributed by Janus Weil <janus@gcc.gnu.org>
|
|
|
|
interface
|
|
integer function f1()
|
|
end function
|
|
end interface
|
|
|
|
interface
|
|
function f2()
|
|
integer, pointer :: f2
|
|
end function
|
|
end interface
|
|
|
|
interface
|
|
function pp1()
|
|
integer :: pp1
|
|
end function
|
|
end interface
|
|
pointer :: pp1
|
|
|
|
pointer :: pp2
|
|
interface
|
|
function pp2()
|
|
integer :: pp2
|
|
end function
|
|
end interface
|
|
|
|
pointer :: pp3
|
|
interface
|
|
function pp3()
|
|
integer, pointer :: pp3
|
|
end function
|
|
end interface
|
|
|
|
interface
|
|
function pp4()
|
|
integer, pointer :: pp4
|
|
end function
|
|
end interface
|
|
pointer :: pp4
|
|
|
|
|
|
pp1 => f1
|
|
|
|
pp2 => pp1
|
|
|
|
f2 => f1 ! { dg-error "is not a variable" }
|
|
|
|
pp3 => f2
|
|
|
|
pp4 => pp3
|
|
|
|
end |