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