aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2009-06-22 12:54:16 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2009-06-22 12:54:16 +0200
commitac6cb60cdf1df4a9fd13f09575bdfae0d3cba87d (patch)
tree929f43e119e98d56426ba30237ad07a974533b39
parent481683e1d53b27779b31c1816606eb17975a9b1f (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/tree-sra.c4
3 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0745187..6a8cef5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
2009-06-22 Shujing Zhao <pearly.zhao@oracle.com>
* alias.c: Use REG_P, MEM_P, CONST_INT_P, LABEL_P, CALL_P, NOTE_P and
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 534317b..617b4fa 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-22 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/40492
+ * g++.dg/torture/pr40492.C: New test.
+
2009-06-22 Uros Bizjak <ubizjak@gmail.com>
* gcc.c-torture/unsorted/dump-noaddr.x (dump_compare): Determine
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;
}