OSDN Git Service

2011-09-26 Janus Weil <janus@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / proc_ptr_comp_18.f90
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
7 PROGRAM 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) call abort()
18
19 CONTAINS
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
32 END PROGRAM test
33