diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/module_equivalence_4.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/module_equivalence_4.f90 | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/module_equivalence_4.f90 b/gcc/testsuite/gfortran.dg/module_equivalence_4.f90 new file mode 100644 index 000000000..7a8ef9c7c --- /dev/null +++ b/gcc/testsuite/gfortran.dg/module_equivalence_4.f90 @@ -0,0 +1,29 @@ +! { dg-do compile } +! This checks the fix for PR37706 in which the equivalence would be +! inserted into the 'nudata' namespace with the inevitable consequences. +! +! Contributed by Lester Petrie <petrielmjr@ornl.gov> +! +module data_C + integer, dimension(200) :: l = (/(201-i, i = 1,200)/) + integer :: l0 + integer :: l24, l27, l28, l29 + equivalence ( l(1), l0 ) + end module data_C + +subroutine nudata(nlibe, a, l) + USE data_C, only: l24, l27, l28, l29 + implicit none + integer :: nlibe + integer :: l(*) + real :: a(*) + print *, l(1), l(2) + return +end subroutine nudata + + integer :: l_(2) = (/1,2/), nlibe_ = 42 + real :: a_(2) = (/1.,2./) + call nudata (nlibe_, a_, l_) +end + +! { dg-final { cleanup-modules "data_C" } } |