aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2019-08-13 15:08:10 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2019-08-13 15:08:10 +0000
commitfb3f5eae9f6c9ab6d9754e8f86da9181cdce47e2 (patch)
treeff4f7246043db7208ff16c538b53adc1123f3ef2 /gcc/fortran/trans-expr.c
parentcb0a83f3437be73075fba17db68abbf240d17a36 (diff)
downloadgcc-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.c3
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