diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-08-13 15:08:10 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-08-13 15:08:10 +0000 |
commit | fb3f5eae9f6c9ab6d9754e8f86da9181cdce47e2 (patch) | |
tree | ff4f7246043db7208ff16c538b53adc1123f3ef2 /gcc/fortran/trans-expr.c | |
parent | cb0a83f3437be73075fba17db68abbf240d17a36 (diff) | |
download | gcc-fb3f5eae9f6c9ab6d9754e8f86da9181cdce47e2.zip gcc-fb3f5eae9f6c9ab6d9754e8f86da9181cdce47e2.tar.gz gcc-fb3f5eae9f6c9ab6d9754e8f86da9181cdce47e2.tar.bz2 |
re PR fortran/90561 (ICE in gimplify_var_or_parm_decl, at gimplify.c:2747)
2019-08-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/90561
* trans.h (gfc_evaluate_now_function_scope): New function.
* trans.c (gfc_evaluate_now_function_scope): New function.
* trans-expr.c (gfc_trans_assignment): Use it.
2019-08-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/90561
* gfortran.dg/deferred_character_34.f90: New test.
From-SVN: r274383
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r-- | gcc/fortran/trans-expr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index a4e8351..2adc112 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -10796,7 +10796,8 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag, if (expr1->ts.deferred && gfc_expr_attr (expr1).allocatable && gfc_check_dependency (expr1, expr2, true)) - rse.string_length = gfc_evaluate_now (rse.string_length, &rse.pre); + rse.string_length = + gfc_evaluate_now_function_scope (rse.string_length, &rse.pre); string_length = rse.string_length; } else |