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);