diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-01-16 14:41:13 +0100 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-01-16 13:41:13 +0000 |
commit | de4af523c5a6790873770f4d1248bedc4dd6e56a (patch) | |
tree | 85a0b59e6028d56e1f2946e68d742d5259cd6aff /gcc/tree-flow.h | |
parent | 6935bae779717b8563011478a79ea5832c6fd135 (diff) | |
download | gcc-de4af523c5a6790873770f4d1248bedc4dd6e56a.zip gcc-de4af523c5a6790873770f4d1248bedc4dd6e56a.tar.gz gcc-de4af523c5a6790873770f4d1248bedc4dd6e56a.tar.bz2 |
re PR middle-end/34668 (ICE in find_compatible_field with -combine)
2008-01-16 Jakub Jelinek <jakub@redhat.com>
Richard Guenther <rguenther@suse.de>
PR c/34668
* gimplify.c (fold_indirect_ref_rhs): Rename to ...
(gimple_fold_indirect_ref_rhs): ... this.
(gimple_fold_indirect_ref): New function with foldings
that preserve lvalueness.
(gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
* tree-flow.h (gimple_fold_indirect_ref): Declare.
* tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
to fold an INDIRECT_REF, fall back to the old use of
fold_indirect_ref_1.
* gcc.dg/pr34668-1.c: New test.
* gcc.dg/pr34668-2.c: Likewise.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r131572
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index fae0404..a96f8b2 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -1125,6 +1125,7 @@ extern void register_jump_thread (edge, edge); tree force_gimple_operand (tree, tree *, bool, tree); tree force_gimple_operand_bsi (block_stmt_iterator *, tree, bool, tree, bool, enum bsi_iterator_update); +tree gimple_fold_indirect_ref (tree); /* In tree-ssa-structalias.c */ bool find_what_p_points_to (tree); |