1! { dg-do compile }
2!
3! PROCEDURE POINTERS & pointer-valued functions
4!
5! Contributed by Janus Weil <janus@gcc.gnu.org>
6
7interface
8  integer function f1()
9  end function
10end interface
11
12interface
13 function f2()
14   integer, pointer :: f2
15 end function
16end interface
17
18interface
19 function pp1()
20   integer :: pp1
21 end function
22end interface
23pointer :: pp1
24
25pointer :: pp2
26interface
27  function pp2()
28    integer :: pp2
29  end function
30end interface
31
32pointer :: pp3
33interface
34  function pp3()
35    integer, pointer :: pp3
36  end function
37end interface
38
39interface
40  function pp4()
41    integer, pointer :: pp4
42  end function
43end interface
44pointer :: pp4
45
46
47pp1 => f1
48
49pp2 => pp1
50
51f2 => f1	! { dg-error "is not a variable" }
52
53pp3 => f2
54
55pp4 => pp3
56
57end