re PR fortran/77420 (gfortran and equivalence produces internal compiler error)
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77420 * module.c (load_equiv): If the current namespace has a list of equivalence statements, initialize duplicate to false and then look for duplicates; otherwise, initialize it to true. 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77420 * gfortran.dg/pr77420.f90: New test. From-SVN: r240063
This commit is contained in:
parent
c87656b4d3
commit
352c2128b4
@ -4647,7 +4647,7 @@ load_equiv (void)
|
||||
}
|
||||
|
||||
/* Check for duplicate equivalences being loaded from different modules */
|
||||
duplicate = false;
|
||||
duplicate = gfc_current_ns->equiv ? false:true;
|
||||
for (equiv = gfc_current_ns->equiv; equiv; equiv = equiv->next)
|
||||
{
|
||||
if (equiv->module && head->module
|
||||
|
@ -1,3 +1,10 @@
|
||||
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/77420
|
||||
* module.c (load_equiv): If the current namespace has a list of
|
||||
equivalence statements, initialize duplicate to false and then
|
||||
look for duplicates; otherwise, initialize it to true.
|
||||
|
||||
2016-09-09 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/77520
|
||||
@ -5,6 +12,11 @@
|
||||
* gcc.dg/pr77520.c: New test.
|
||||
* gcc.dg/pr77521.c: New test.
|
||||
|
||||
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/77420
|
||||
* gfortran.dg/pr77420.f90: New test.
|
||||
|
||||
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/77506
|
||||
|
18
gcc/testsuite/gfortran.dg/pr77420.f90
Normal file
18
gcc/testsuite/gfortran.dg/pr77420.f90
Normal file
@ -0,0 +1,18 @@
|
||||
! { dg-do compile }
|
||||
MODULE test_equivalence
|
||||
REAL, PRIVATE, DIMENSION(100) :: array1
|
||||
REAL, PRIVATE, DIMENSION(100) :: array2
|
||||
EQUIVALENCE(array1(1),array2(1))
|
||||
END MODULE test_equivalence
|
||||
|
||||
MODULE mymodule
|
||||
USE test_equivalence
|
||||
! declare a local variable with the same name as the (private!)
|
||||
! variable in module test_equivalence:
|
||||
REAL, DIMENSION(:), ALLOCATABLE :: array1
|
||||
END MODULE mymodule
|
||||
|
||||
PROGRAM test
|
||||
USE mymodule
|
||||
END PROGRAM test
|
||||
|
Loading…
Reference in New Issue
Block a user