1! { dg-do run }
2!
3! PR 41139: [4.5 Regression] a procedure pointer call as actual argument
4!
5! Contributed by Janus Weil <janus@gcc.gnu.org>
6
7PROGRAM test
8
9 type :: t
10   PROCEDURE(three), POINTER, nopass :: f
11 end type
12 type(t) :: o
13 logical :: g
14
15 o%f => three
16 g=greater(4.,o%f())
17 if (.not. g) call abort()
18
19CONTAINS
20
21 REAL FUNCTION three()
22   three = 3.
23 END FUNCTION
24
25 LOGICAL FUNCTION greater(x,y)
26   REAL, INTENT(in) :: x, y
27   print *,"greater:",x,y
28   greater = (x > y)
29 END FUNCTION greater
30
31END PROGRAM test
32
33