diff options
author | Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> | 2004-06-09 14:35:39 +0200 |
---|---|---|
committer | Tobias Schlüter <tobi@gcc.gnu.org> | 2004-06-09 14:35:39 +0200 |
commit | a4ac5dd3ef232d1b4b820960fef7f787525b8009 (patch) | |
tree | 1d887e3598ff8364950f11fe0a07aa88efcaab27 /gcc/fortran | |
parent | 0ca8e815a54c100982398145f32843b490f74589 (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 16 |
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 |