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(add), POINTER, nopass :: f
11 end type
12 type(t) :: o
13 logical :: g
14
15 o%f => add
16 g=greater(4.,o%f(1.,2.))
17 if (.not. g) STOP 1
18
19CONTAINS
20
21 REAL FUNCTION add(x,y)
22   REAL, INTENT(in) :: x,y
23   add = x+y
24 END FUNCTION add
25
26 LOGICAL FUNCTION greater(x,y)
27   REAL, INTENT(in) :: x, y
28   print *,"greater:",x,y
29   greater = (x > y)
30 END FUNCTION greater
31
32END PROGRAM test
33
34