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

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

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

--- Comment #2 from Mikael Morin <mikael at gcc dot gnu.org> ---
gfc_restore_last_undo_checkpoint seems to take care of the cleanup, so we don't
need to do it in gfc_match_common.
The following fixes the segfault.

--- a/match.c
+++ b/match.c
@@ -4520,10 +4520,6 @@ syntax:
   gfc_syntax_error (ST_COMMON);

 cleanup:
-  if (old_blank_common)
-    old_blank_common->common_next = NULL;
-  else
-    gfc_current_ns->blank_common.head = NULL;
   gfc_free_array_spec (as);
   return MATCH_ERROR;
 }

Reply via email to