diff options
author | Martin Jambor <mjambor@suse.cz> | 2009-06-22 12:54:16 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2009-06-22 12:54:16 +0200 |
commit | ac6cb60cdf1df4a9fd13f09575bdfae0d3cba87d (patch) | |
tree | 929f43e119e98d56426ba30237ad07a974533b39 /gcc/tree-sra.c | |
parent | 481683e1d53b27779b31c1816606eb17975a9b1f (diff) | |
download | gcc-ac6cb60cdf1df4a9fd13f09575bdfae0d3cba87d.zip gcc-ac6cb60cdf1df4a9fd13f09575bdfae0d3cba87d.tar.gz gcc-ac6cb60cdf1df4a9fd13f09575bdfae0d3cba87d.tar.bz2 |
re PR tree-optimization/40492 (ice in create_tmp_var)
2009-06-22 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/40492
* tree-sra.c (sra_modify_assign): Pass zero offsets to
build_ref_for_offset.
* testsuite/g++.dg/torture/pr40492.C: New test.
From-SVN: r148787
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 497b47b..627d47e 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -2119,7 +2119,7 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi, && !access_has_children_p (lacc)) { tree expr = unshare_expr (lhs); - if (build_ref_for_offset (&expr, TREE_TYPE (lhs), racc->offset, + if (build_ref_for_offset (&expr, TREE_TYPE (lhs), 0, TREE_TYPE (rhs), false)) { lhs = expr; @@ -2130,7 +2130,7 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi, && !access_has_children_p (racc)) { tree expr = unshare_expr (rhs); - if (build_ref_for_offset (&expr, TREE_TYPE (rhs), lacc->offset, + if (build_ref_for_offset (&expr, TREE_TYPE (rhs), 0, TREE_TYPE (lhs), false)) rhs = expr; } |