diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/module_naming_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/module_naming_1.f90 | 32 |
1 files changed, 32 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 000000000..7b9df0a99 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/module_naming_1.f90 @@ -0,0 +1,32 @@ +! { 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 +! { dg-final { cleanup-modules "m1 m1__m2 m2 m2_MOD_m2" } } |