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 */
|
/* 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)
|
for (equiv = gfc_current_ns->equiv; equiv; equiv = equiv->next)
|
||||||
{
|
{
|
||||||
if (equiv->module && head->module
|
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>
|
2016-09-09 Martin Sebor <msebor@redhat.com>
|
||||||
|
|
||||||
PR c/77520
|
PR c/77520
|
||||||
@ -5,6 +12,11 @@
|
|||||||
* gcc.dg/pr77520.c: New test.
|
* gcc.dg/pr77520.c: New test.
|
||||||
* gcc.dg/pr77521.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>
|
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/77506
|
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