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