diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-sra.c | 4 |
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; } |