aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2019-02-23 13:18:47 +0000
committerPaul Thomas <pault@gcc.gnu.org>2019-02-23 13:18:47 +0000
commit524cee402e974b7e8e6e8e7ca6af189360c99526 (patch)
tree4471140166a54834c38631e3414dea4112f86f3d /gcc/fortran/resolve.c
parentc280838969d504e909e1f1f4e19642e91fab982f (diff)
downloadgcc-524cee402e974b7e8e6e8e7ca6af189360c99526.zip
gcc-524cee402e974b7e8e6e8e7ca6af189360c99526.tar.gz
gcc-524cee402e974b7e8e6e8e7ca6af189360c99526.tar.bz2
re PR fortran/88117 (ICE in gimplify_var_or_parm_decl, at gimplify.c:2697)
2019-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/88117 * resolve.c (deferred_op_assign): Return if the lhs expression has the pointer attribute. * trans-expr.c (gfc_trans_assignment_1): Do not fix the string length if the lhs expression has the pointer attribute. 2019-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/88117 * gfortran.dg/deferred_character_32.f90 : New test From-SVN: r269157
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index e581a60..422cec2 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -11166,6 +11166,9 @@ deferred_op_assign (gfc_code **code, gfc_namespace *ns)
if (!gfc_check_dependency ((*code)->expr1, (*code)->expr2, 1))
return false;
+ if (gfc_expr_attr ((*code)->expr1).pointer)
+ return false;
+
tmp_expr = get_temp_from_expr ((*code)->expr1, ns);
tmp_expr->where = (*code)->loc;