summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/proc_ptr_10.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/proc_ptr_10.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/proc_ptr_10.f9030
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_10.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_10.f90
new file mode 100644
index 000000000..0ceedaa2d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/proc_ptr_10.f90
@@ -0,0 +1,30 @@
+! { dg-do run }
+!
+! PR fortran/37253
+!
+! Contributed by Dominique d'Humieres <dominiq@lps.ens.fr>
+
+module myMod
+
+ CONTAINS
+
+ real function proc3( arg1 )
+ integer :: arg1
+ proc3 = arg1+7
+ end function proc3
+
+ subroutine proc4( arg1 )
+ procedure(real), pointer :: arg1
+ if (arg1(0)/=7) call abort()
+ end subroutine proc4
+
+end module myMod
+
+program myProg
+ use myMod
+ PROCEDURE (real), POINTER :: p => NULL()
+ p => proc3
+ call proc4( p )
+end program myProg
+
+! { dg-final { cleanup-modules "myMod" } }