diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-09-24 08:39:00 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-09-24 08:39:00 +0000 |
commit | 650f7d09d22fc876bdceb93a47d2abf068c676db (patch) | |
tree | 667b16bf637db0a4449c057781f75bb37d30eaa0 /gcc/fortran/expr.c | |
parent | e6a951d26565dd138af99b3cb9c3ec4f10e74458 (diff) | |
download | gcc-650f7d09d22fc876bdceb93a47d2abf068c676db.zip gcc-650f7d09d22fc876bdceb93a47d2abf068c676db.tar.gz gcc-650f7d09d22fc876bdceb93a47d2abf068c676db.tar.bz2 |
re PR fortran/80118 (ICE with zero size parameter array)
2017-09-24 Thomas Koenig <tkoenig@gcc.gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/80118
* expr.c (gfc_get_full_arrayspec_from_expr): If there is
no symtree, set array spec to NULL.
2017-09-24 Thomas Koenig <tkoenig@gcc.gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/80118
* gfortran.dg/zero_sized_7.f90: New test.
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r253123
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r-- | gcc/fortran/expr.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 87ea09f..bfbb19e 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -4568,7 +4568,11 @@ gfc_get_full_arrayspec_from_expr (gfc_expr *expr) if (expr->expr_type == EXPR_VARIABLE || expr->expr_type == EXPR_CONSTANT) { - as = expr->symtree->n.sym->as; + if (expr->symtree) + as = expr->symtree->n.sym->as; + else + as = NULL; + for (ref = expr->ref; ref; ref = ref->next) { switch (ref->type) |