From 0423b64acd65bf78901d54c2a2d5af71cd347e00 Mon Sep 17 00:00:00 2001 From: Mikael Morin Date: Fri, 7 Sep 2012 20:37:41 +0000 Subject: re PR fortran/54208 (compilation error for ubound construct in PARAMETER statements) fortran/ PR fortran/54208 * simplify.c (simplify_bound_dim): Resolve array spec before proceeding with simplification. testsuite/ PR fortran/54208 * gfortran.dg/bound_simplification_3.f90: New test. From-SVN: r191083 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/simplify.c | 3 +++ 2 files changed, 9 insertions(+) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index d237a24..f0e6cad 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2012-09-07 Mikael Morin + + PR fortran/54208 + * simplify.c (simplify_bound_dim): Resolve array spec before + proceeding with simplification. + 2012-09-06 Tobias Burnus PR fortran/54463 diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index e4ccddf..07aeee8 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -3255,6 +3255,9 @@ simplify_bound_dim (gfc_expr *array, gfc_expr *kind, int d, int upper, gcc_assert (array->expr_type == EXPR_VARIABLE); gcc_assert (as); + if (gfc_resolve_array_spec (as, 0) == FAILURE) + return NULL; + /* The last dimension of an assumed-size array is special. */ if ((!coarray && d == as->rank && as->type == AS_ASSUMED_SIZE && !upper) || (coarray && d == as->rank + as->corank -- cgit v1.1