2009-07-17 Richard Guenther <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gfortran.dg / proc_ptr_20.f90
blob79c9ba8f1ecfe6060a333fb8a0ce4a59286c0508
1 ! { dg-do run }
3 ! PR 40450: [F03] procedure pointer as actual argument
5 ! Contributed by John McFarland <john.mcfarland@swri.org>
7 MODULE m
8 ABSTRACT INTERFACE
9 SUBROUTINE sub()
10 END SUBROUTINE sub
11 END INTERFACE
13 CONTAINS
15 SUBROUTINE passf(f2)
16 PROCEDURE(sub), POINTER:: f2
17 CALL callf(f2)
18 END SUBROUTINE passf
20 SUBROUTINE callf(f3)
21 PROCEDURE(sub), POINTER :: f3
22 PRINT*, 'calling f'
23 CALL f3()
24 END SUBROUTINE callf
25 END MODULE m
28 PROGRAM prog
29 USE m
30 PROCEDURE(sub), POINTER :: f1
31 f1 => s
32 CALL passf(f1)
34 CONTAINS
36 SUBROUTINE s
37 PRINT*, 'sub'
38 END SUBROUTINE s
39 END PROGRAM prog
41 ! { dg-final { cleanup-modules "m" } }