aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-08 10:19:40 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-08 10:19:40 +0000
commitc42292c02460f7710ef6007ed8a42749616877f6 (patch)
tree3093bc7ca2ab49a6fbc8cc22c15d7128effbd377
parentbd2d0abad67257561fb069d196d3638a2e5f77be (diff)
svn merge -r151453:151454 svn+ssh://gcc.gnu.org/svn/gcc/trunkredhat/vta-4_4-branch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/redhat/vta-4_4-branch@151501 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/torture/pr41273.C18
-rw-r--r--gcc/tree-ssa-operands.c4
4 files changed, 30 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 37602c81a68..6e5b9ed19af 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-05 Richard Guenther <rguenther@suse.de>
+
+ PR debug/41273
+ * tree-ssa-operands.c (get_tmr_operands): Pass through opf_no_vops.
+
2009-05-21 Michael Meissner <meissner@linux.vnet.ibm.com>
PR tree-optimization/40219
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index baea634e2dd..f91ab4b0930 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-05 Richard Guenther <rguenther@suse.de>
+
+ PR debug/41273
+ * g++.dg/torture/pr41273.C: New testcase.
+
2009-09-06 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/41241
diff --git a/gcc/testsuite/g++.dg/torture/pr41273.C b/gcc/testsuite/g++.dg/torture/pr41273.C
new file mode 100644
index 00000000000..bdce0535583
--- /dev/null
+++ b/gcc/testsuite/g++.dg/torture/pr41273.C
@@ -0,0 +1,18 @@
+/* { dg-do compile } */
+/* { dg-options "-g" } */
+
+long *H2_ipX_ener_sort;
+double H2_old_populations[2];
+double H2_total;
+
+void H2_LevelPops()
+{
+ double sum_pop = 0.;
+ long nEner = 0;
+ while( nEner < 3 && sum_pop/H2_total < 0.99999 )
+ {
+ long ip = H2_ipX_ener_sort[nEner];
+ sum_pop += H2_old_populations[ip];
+ ++nEner;
+ }
+}
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index 8d0213d8f1e..c459a524dd3 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -1616,8 +1616,8 @@ get_tmr_operands (gimple stmt, tree expr, int flags)
gimple_set_references_memory (stmt, true);
/* First record the real operands. */
- get_expr_operands (stmt, &TMR_BASE (expr), opf_use);
- get_expr_operands (stmt, &TMR_INDEX (expr), opf_use);
+ get_expr_operands (stmt, &TMR_BASE (expr), opf_use | (flags & opf_no_vops));
+ get_expr_operands (stmt, &TMR_INDEX (expr), opf_use | (flags & opf_no_vops));
if (TMR_SYMBOL (expr))
gimple_add_to_addresses_taken (stmt, TMR_SYMBOL (expr));