aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-06-09 14:35:39 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-06-09 14:35:39 +0200
commita4ac5dd3ef232d1b4b820960fef7f787525b8009 (patch)
tree1d887e3598ff8364950f11fe0a07aa88efcaab27 /gcc/fortran
parent0ca8e815a54c100982398145f32843b490f74589 (diff)
downloadgcc-a4ac5dd3ef232d1b4b820960fef7f787525b8009.zip
gcc-a4ac5dd3ef232d1b4b820960fef7f787525b8009.tar.gz
gcc-a4ac5dd3ef232d1b4b820960fef7f787525b8009.tar.bz2
re PR fortran/13201 (PARAMETER variables of nonconstant shape are accepted)
PR fortran/13201 * resolve.c (resolve_symbol): Verify that parameter array has an explicit shape. Fix typos and coding style issues in surrounding lines. From-SVN: r82830
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog9
-rw-r--r--gcc/fortran/resolve.c16
2 files changed, 20 insertions, 5 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 394ccc6..9034b95 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,4 +1,11 @@
-2004-06-05 Tobias Schlueter <tobias.shclueter@physik.uni-muenchen.de>
+2004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/13201
+ * resolve.c (resolve_symbol): Verify that parameter array has an
+ explicit shape. Fix typos and coding style issues in surrounding
+ lines.
+
+2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/15478
* gfortran.texi: The documentation doesn't contain infomration on
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index ca9208f..d33dcb2 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -3736,14 +3736,22 @@ resolve_symbol (gfc_symbol * sym)
|| sym->as->type == AS_ASSUMED_SHAPE)
&& sym->attr.dummy == 0)
{
- gfc_error("Assumed %s array at %L must be a dummy argument",
- sym->as->type == AS_ASSUMED_SIZE ? "size" : "shape",
- &sym->declared_at);
+ gfc_error ("Assumed %s array at %L must be a dummy argument",
+ sym->as->type == AS_ASSUMED_SIZE ? "size" : "shape",
+ &sym->declared_at);
+ return;
+ }
+
+ if (sym->attr.flavor == FL_PARAMETER
+ && sym->as != NULL && sym->as->type != AS_EXPLICIT)
+ {
+ gfc_error ("Parameter array '%s' at %L must have an explicit shape",
+ sym->name, &sym->declared_at);
return;
}
/* Make sure that character string variables with assumed length are
- dummy argument. */
+ dummy arguments. */
if (sym->attr.flavor == FL_VARIABLE && !sym->attr.result
&& sym->ts.type == BT_CHARACTER