aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/module_naming_1.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/module_naming_1.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/module_naming_1.f9031
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/module_naming_1.f90 b/gcc/testsuite/gfortran.dg/module_naming_1.f90
new file mode 100644
index 00000000000..2a2d00b1d30
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/module_naming_1.f90
@@ -0,0 +1,31 @@
+! { dg-do assemble }
+! PR 31144
+! Makes sure that our name mangling scheme can't be outwitted
+
+! old scheme
+module m1
+contains
+ subroutine m2__m3()
+ end subroutine m2__m3
+end module m1
+
+module m1__m2
+contains
+ subroutine m3()
+ end subroutine m3
+end module m1__m2
+
+! New scheme, relies on capitalization
+module m2
+contains
+ subroutine m2_MOD_m3()
+ ! mangled to __m2_MOD_m2_mod_m3
+ end subroutine m2_MOD_m3
+end module m2
+
+module m2_MOD_m2
+contains
+ subroutine m3()
+ ! mangled to __m2_mod_m2_MOD_m3
+ end subroutine m3
+end module m2_MOD_m2