aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-07-11 00:37:16 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-07-11 00:37:16 +0200
commit53814b8fe83f2f579f213e919b40c2793e824892 (patch)
tree71058c2b83b5ab95a6950a9d27dec8011f02a891 /gcc/fortran/decl.c
parent77dc410393bbfeb45f0e573d57eed83d6d18ad7f (diff)
downloadgcc-53814b8fe83f2f579f213e919b40c2793e824892.zip
gcc-53814b8fe83f2f579f213e919b40c2793e824892.tar.gz
gcc-53814b8fe83f2f579f213e919b40c2793e824892.tar.bz2
re PR fortran/16336 (ICE with common block in module)
PR fortran/16336 * decl.c (gfc_match_save): Use-associated common block doesn't collide. * gfortran.h (gfc_common_head): Add new field 'name'. Fix typo in comment after #endif. * match.c (gfc_get_common): Add new argument from_common, mangle name if flag is set, fill in new field in structure gfc_common_head. (match_common): Set new arg in call to gfc_get_common, use-associated common block doesn't collide. * match.h (gfc_get_common): Adapt prototype. * module.c (load_commons): Set new arg in call to gfc_get_common. * symbol.c (free_common_tree): New function. (gfc_free_namespace): Call new function. * trans-common.c (several functions): Remove argument 'name', use name from gfc_common_head instead. From-SVN: r84476
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 94573ac..3a78efc 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -2699,14 +2699,7 @@ gfc_match_save (void)
if (m == MATCH_NO)
goto syntax;
- c = gfc_get_common (n);
-
- if (c->use_assoc)
- {
- gfc_error("COMMON block '%s' at %C is already USE associated", n);
- return MATCH_ERROR;
- }
-
+ c = gfc_get_common (n, 0);
c->saved = 1;
gfc_current_ns->seen_save = 1;