aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-05-15 22:29:06 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-05-15 22:29:06 +0200
commitc8e20bd09307de2a787351a88c93458b32d45363 (patch)
tree29c7072477abd32069be234fddbeb7a4e4cdd0ae /gcc/fortran/decl.c
parent3a906f0433a126420f5e98a1b9b9b53e60f361ef (diff)
downloadgcc-c8e20bd09307de2a787351a88c93458b32d45363.zip
gcc-c8e20bd09307de2a787351a88c93458b32d45363.tar.gz
gcc-c8e20bd09307de2a787351a88c93458b32d45363.tar.bz2
re PR fortran/13742 (Not Implemented: initial values for COMMON or EQUIVALENCE)
PR fortran/13742 * decl.c (add_init_expr_to_sym): Verify that COMMON variable is not initialized in a disallowed fashion. * match.c (gfc_match_common): Likewise. (var_element): Verify that variable is not in the blank COMMON, if it is in a common. From-SVN: r81899
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index c36c7ba..ff87bee 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -276,6 +276,15 @@ add_init_expr_to_sym (const char *name, gfc_expr ** initp,
return FAILURE;
}
+ if (attr.in_common
+ && !attr.data
+ && *initp != NULL)
+ {
+ gfc_error ("Initializer not allowed for COMMON variable '%s' at %C",
+ sym->name);
+ return FAILURE;
+ }
+
if (init == NULL)
{
/* An initializer is required for PARAMETER declarations. */