[Bug fortran/56852] [4.6/4.7/4.8/4.9 Regression] ICE on invalid: "Bad array reference" for an undeclared loop variable

mikael at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Apr 7 11:48:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56852

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikael at gcc dot gnu.org

--- Comment #3 from Mikael Morin <mikael at gcc dot gnu.org> 2013-04-07 11:47:58 UTC ---
There is a simple fix, may be too big hammer:

diff --git a/resolve.c b/resolve.c
index 835b57f..0b44c98 100644
--- a/resolve.c
+++ b/resolve.c
@@ -14426,6 +14426,7 @@ gfc_resolve (gfc_namespace *ns)
 {
   gfc_namespace *old_ns;
   code_stack *old_cs_base;
+  int errors;

   if (ns->resolved)
     return;
@@ -14435,6 +14436,9 @@ gfc_resolve (gfc_namespace *ns)
   old_cs_base = cs_base;

   resolve_types (ns);
+  gfc_get_errors (NULL, &errors);
+  if (errors > 0)
+    return;
   component_assignment_level = 0;
   resolve_codes (ns);



More information about the Gcc-bugs mailing list