Blame SOURCES/0017-Add-the-SEQUENCE-attribute-by-default-if-it-s-not-pr.patch

3db796
From fdda38024c7151ca632cb338085af80ceb63ec4d Mon Sep 17 00:00:00 2001
3db796
From: Jim MacArthur <jim.macarthur@codethink.co.uk>
3db796
Date: Wed, 18 Nov 2015 15:08:56 +0000
3db796
Subject: [PATCH 17/23] Add the SEQUENCE attribute by default if it's not
3db796
 present.
3db796
3db796
This feature is enabled by the `-std=extra-legacy` compiler flag.
3db796
3db796
3db796
        0017-Add-the-SEQUENCE-attribute-by-default-if-it-s-not-pr.patch
3db796
3db796
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
3db796
index f82c298..a831f70 100644
3db796
--- a/gcc/fortran/resolve.c
3db796
+++ b/gcc/fortran/resolve.c
3db796
@@ -963,9 +963,16 @@ resolve_common_vars (gfc_common_head *common_block, bool named_common)
3db796
 
3db796
       if (!(csym->ts.u.derived->attr.sequence
3db796
 	    || csym->ts.u.derived->attr.is_bind_c))
3db796
-	gfc_error_now ("Derived type variable %qs in COMMON at %L "
3db796
-		       "has neither the SEQUENCE nor the BIND(C) "
3db796
-		       "attribute", csym->name, &csym->declared_at);
3db796
+	{
3db796
+	  if (gfc_option.allow_std & GFC_STD_EXTRA_LEGACY)
3db796
+	    /* Assume sequence. */
3db796
+	    csym->ts.u.derived->attr.sequence = 1;
3db796
+	  else
3db796
+	    gfc_error_now ("Derived type variable '%s' in COMMON at %L "
3db796
+			   "has neither the SEQUENCE nor the BIND(C) "
3db796
+			   "attribute", csym->name, &csym->declared_at);
3db796
+	}
3db796
+
3db796
       if (csym->ts.u.derived->attr.alloc_comp)
3db796
 	gfc_error_now ("Derived type variable %qs in COMMON at %L "
3db796
 		       "has an ultimate component that is "