33 lines
610 B
Fortran
33 lines
610 B
Fortran
! { 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" } }
|