summaryrefslogtreecommitdiff
path: root/gcc/tree-nested.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-12-08 14:37:49 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-12-08 14:37:49 +0100
commit47e1596cc1e877485483de1eca7b3eb4bd049cfb (patch)
tree20b3f0623f26e447a079ffd9681a686f56ac33d7 /gcc/tree-nested.c
parentdfe1fe91dbc7f068bb3efcee40237caacc0c53ae (diff)
re PR fortran/88304 (ICE in use_pointer_in_frame, at tree-nested.c:267)
PR fortran/88304 * tree-nested.c (convert_local_reference_stmt): Handle clobbers where lhs is not a decl normally, don't call use_pointer_in_frame on that lhs. * gfortran.fortran-torture/compile/pr88304-2.f90: New test. From-SVN: r266907
Diffstat (limited to 'gcc/tree-nested.c')
-rw-r--r--gcc/tree-nested.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c
index ea542466574..0ad469ada49 100644
--- a/gcc/tree-nested.c
+++ b/gcc/tree-nested.c
@@ -2324,7 +2324,8 @@ convert_local_reference_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p,
if (gimple_clobber_p (stmt))
{
tree lhs = gimple_assign_lhs (stmt);
- if (!use_pointer_in_frame (lhs)
+ if (DECL_P (lhs)
+ && !use_pointer_in_frame (lhs)
&& lookup_field_for_decl (info, lhs, NO_INSERT))
{
gsi_replace (gsi, gimple_build_nop (), true);