diff options
author | Mark Eggleston <markeggleston@gcc.gnu.org> | 2020-06-11 06:42:36 +0100 |
---|---|---|
committer | Mark Eggleston <markeggleston@gcc.gnu.org> | 2020-06-22 13:14:44 +0100 |
commit | d9aed5f1ccffc019ddf980e349caa3d092755cb4 (patch) | |
tree | fcaa4f455cee93994ec87e813056fccbcfdabd3e /gcc/fortran/check.c | |
parent | d57bf2315e024ada3393ad967e8f632121383c9c (diff) | |
download | gcc-d9aed5f1ccffc019ddf980e349caa3d092755cb4.zip gcc-d9aed5f1ccffc019ddf980e349caa3d092755cb4.tar.gz gcc-d9aed5f1ccffc019ddf980e349caa3d092755cb4.tar.bz2 |
Fortran : ICE in gfc_check_reshape PR95585
Issue an error where an array is used before its definition
instead of an ICE.
2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org>
gcc/fortran/
PR fortran/95585
* check.c (gfc_check_reshape): Add check for a value when
the symbol has an attribute flavor FL_PARAMETER.
2020-06-22 Mark Eggleston <markeggleston@gcc.gnu.org>
gcc/testsuite/
PR fortran/95585
* gfortran.dg/pr95585.f90: New test.
Diffstat (limited to 'gcc/fortran/check.c')
-rw-r--r-- | gcc/fortran/check.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index 9c95524..de9a45f 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -4742,7 +4742,8 @@ gfc_check_reshape (gfc_expr *source, gfc_expr *shape, && shape->ref->u.ar.as->lower[0]->ts.type == BT_INTEGER && shape->ref->u.ar.as->upper[0]->expr_type == EXPR_CONSTANT && shape->ref->u.ar.as->upper[0]->ts.type == BT_INTEGER - && shape->symtree->n.sym->attr.flavor == FL_PARAMETER) + && shape->symtree->n.sym->attr.flavor == FL_PARAMETER + && shape->symtree->n.sym->value) { int i, extent; gfc_expr *e, *v; |