aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorDaniel Franke <franke.daniel@gmail.com>2007-07-29 10:17:59 -0400
committerDaniel Franke <dfranke@gcc.gnu.org>2007-07-29 10:17:59 -0400
commitc317bc4076ec88beb910e6cdf0fcd067035361fb (patch)
treeced8852cf592f30ac5230edbb390811f4a44377d /gcc/fortran
parentb1e759547fa63a16c51093ded69cd79570946c7b (diff)
downloadgcc-c317bc4076ec88beb910e6cdf0fcd067035361fb.zip
gcc-c317bc4076ec88beb910e6cdf0fcd067035361fb.tar.gz
gcc-c317bc4076ec88beb910e6cdf0fcd067035361fb.tar.bz2
re PR fortran/32906 (Error: Parameter array ... cannot be automatic or assumed shape)
gcc/fortran: 2007-07-29 Daniel Franke <franke.daniel@gmail.com> PR fortran/32906 * resolve.c (resolve_fl_parameter): Check for constant shape arrays, adjusted error message. gcc/testsuite: 2007-07-29 Daniel Franke <franke.daniel@gmail.com> PR fortran/32906 * gfortran.dg/shape_1.f90: Adjust error message. * gfortran.dg/parameter_array_ref_1.f90: New test. From-SVN: r127043
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b193a61..671f99e 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2007-07-29 Daniel Franke <franke.daniel@gmail.com>
+ PR fortran/32906
+ * resolve.c (resolve_fl_parameter): Check for constant shape arrays,
+ adjusted error message.
+
+2007-07-29 Daniel Franke <franke.daniel@gmail.com>
+
* invoke.texi: Removed -w from option summary.
2007-07-29 Daniel Franke <franke.daniel@gmail.com>
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index afa1ed8..e2ebc99 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -7137,10 +7137,12 @@ static try
resolve_fl_parameter (gfc_symbol *sym)
{
/* A parameter array's shape needs to be constant. */
- if (sym->as != NULL && !gfc_is_compile_time_shape (sym->as))
+ if (sym->as != NULL
+ && (sym->as->type == AS_DEFERRED
+ || is_non_constant_shape_array (sym)))
{
gfc_error ("Parameter array '%s' at %L cannot be automatic "
- "or assumed shape", sym->name, &sym->declared_at);
+ "or of deferred shape", sym->name, &sym->declared_at);
return FAILURE;
}