diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-05-24 22:28:33 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-05-24 22:28:33 +0000 |
commit | 8909fee2891ba084a2b8d317e864b3cf4c1e6b01 (patch) | |
tree | 99d3fcbc18670b7c850e4d99d0aa38634368171a /gcc/fortran/resolve.c | |
parent | 91294f1e4f26a737ea8f747bb410d28a36ce0285 (diff) | |
download | gcc-8909fee2891ba084a2b8d317e864b3cf4c1e6b01.zip gcc-8909fee2891ba084a2b8d317e864b3cf4c1e6b01.tar.gz gcc-8909fee2891ba084a2b8d317e864b3cf4c1e6b01.tar.bz2 |
re PR fortran/85895 (ICE in gfc_conv_array_ref, at fortran/trans-array.c:3518)
2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/85895
* resolve.c (resolve_sync): Resolve expression before checking for
an error.
2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/85895
* gfortran.dg/coarray_3.f90: Fix invalid testcase.
* gfortran.dg/pr85895.f90: New test.
From-SVN: r260696
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 13374dd..a53253ea 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -9527,6 +9527,7 @@ resolve_sync (gfc_code *code) } /* Check STAT. */ + gfc_resolve_expr (code->expr2); if (code->expr2 && (code->expr2->ts.type != BT_INTEGER || code->expr2->rank != 0 || code->expr2->expr_type != EXPR_VARIABLE)) @@ -9534,6 +9535,7 @@ resolve_sync (gfc_code *code) &code->expr2->where); /* Check ERRMSG. */ + gfc_resolve_expr (code->expr3); if (code->expr3 && (code->expr3->ts.type != BT_CHARACTER || code->expr3->rank != 0 || code->expr3->expr_type != EXPR_VARIABLE)) |