aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_13.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_13.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_13.f9027
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_13.f90 b/gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_13.f90
new file mode 100644
index 000000000..989cd66ef
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_13.f90
@@ -0,0 +1,27 @@
+! { dg-do compile }
+! { dg-options "-g" }
+!
+! PR 38152: Procedure pointers as module variables.
+!
+! Contributed by Daniel Kraft <domob@gcc.gnu.org>
+
+MODULE myfortran_binding
+
+ IMPLICIT NONE
+ PROCEDURE(error_stop), POINTER :: error_handler
+
+CONTAINS
+
+ LOGICAL FUNCTION myfortran_shutdown ()
+ CALL error_handler ()
+ END FUNCTION myfortran_shutdown
+
+ SUBROUTINE error_stop ()
+ END SUBROUTINE error_stop
+
+END MODULE myfortran_binding
+
+
+use myfortran_binding
+error_handler => error_stop
+end