diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2008-11-19 03:25:00 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2008-11-19 03:25:00 +0000 |
commit | 81a7154e5792c6ee7530935c21a1a0e6d06104d3 (patch) | |
tree | e4d3c15eb094e5a0086a3c78d6da347e58194382 /gcc/fortran/module.c | |
parent | 517c7381286aa99e0b04aef6a64d24c7e526a468 (diff) | |
download | gcc-81a7154e5792c6ee7530935c21a1a0e6d06104d3.zip gcc-81a7154e5792c6ee7530935c21a1a0e6d06104d3.tar.gz gcc-81a7154e5792c6ee7530935c21a1a0e6d06104d3.tar.bz2 |
re PR fortran/38119 (character ICE in gfc_trans_create_temp_array)
2008-11-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38119
* module.c (load_equiv): Regression fix; check that equivalence
members come from the same module only.
2008-11-19 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/module_equivalence_6.f90: New test.
From-SVN: r141990
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r-- | gcc/fortran/module.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index b9c99fe..35f5ce5 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -3807,12 +3807,14 @@ load_equiv (void) } /* Unused equivalence members have a unique name. In addition, it - must be checked that the symbol is that from the module. */ + must be checked that the symbols are from the same module. */ unused = true; for (eq = head; eq; eq = eq->eq) { if (eq->expr->symtree->n.sym->module - && strcmp (module_name, eq->expr->symtree->n.sym->module) == 0 + && head->expr->symtree->n.sym->module + && strcmp (head->expr->symtree->n.sym->module, + eq->expr->symtree->n.sym->module) == 0 && !check_unique_name (eq->expr->symtree->name)) { unused = false; |