aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/module_interface.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/module_interface.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/module_interface.f9039
1 files changed, 39 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/module_interface.f90 b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/module_interface.f90
new file mode 100644
index 000000000..86fd7914b
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/module_interface.f90
@@ -0,0 +1,39 @@
+! We were incorrectly mangling procedures in interfaces in modules
+
+module module_interface
+ interface
+ subroutine foo ()
+ end subroutine foo
+ end interface
+contains
+subroutine cs
+end subroutine
+
+subroutine cproc
+ interface
+ subroutine bar ()
+ end subroutine
+ end interface
+ call bar ()
+ call foo ()
+ call cs ()
+end subroutine
+end module
+
+subroutine foo ()
+end subroutine
+
+subroutine bar ()
+end subroutine
+
+program module_interface_proc
+ use module_interface
+ interface
+ subroutine bar ()
+ end subroutine
+ end interface
+
+ call cproc ()
+ call foo ()
+ call bar ()
+end program