OSDN Git Service

PR debug/43329
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / proc_ptr_comp_19.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(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
19 CONTAINS
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
31 END PROGRAM test
32