aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2016-11-23 03:17:14 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2016-11-23 03:17:14 +0000
commit3135d8fe8a2ac2a88c9681494c6f1ea68d3ae614 (patch)
tree8bf57dac5cb7a92b92178044937046342418d98f /gcc
parentc0137dcc605b4306dfb583f34434b15acd5471e4 (diff)
downloadgcc-3135d8fe8a2ac2a88c9681494c6f1ea68d3ae614.zip
gcc-3135d8fe8a2ac2a88c9681494c6f1ea68d3ae614.tar.gz
gcc-3135d8fe8a2ac2a88c9681494c6f1ea68d3ae614.tar.bz2
re PR tree-optimization/78455 (ICE in operator[], at vec.h:732)
PR tree-optimization/78455 * tree-ssa-uninit.c (can_chain_union_be_invalidated_p): Fix typo. * gcc.dg/uninit-23.c: New. From-SVN: r242733
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/uninit-23.c27
-rw-r--r--gcc/tree-ssa-uninit.c2
4 files changed, 38 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6bc37d3..8d11c29 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-22 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/78455
+ * tree-ssa-uninit.c (can_chain_union_be_invalidated_p): Fix typo.
+
2016-11-22 Ian Lance Taylor <iant@golang.org>
PR go/78431
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e3012bf..9e8b746 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-22 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/78455
+ * gcc.dg/uninit-23.c: New.
+
2016-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78479
diff --git a/gcc/testsuite/gcc.dg/uninit-23.c b/gcc/testsuite/gcc.dg/uninit-23.c
new file mode 100644
index 0000000..b38e1d0
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/uninit-23.c
@@ -0,0 +1,27 @@
+/* PR tree-optimization/78455 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -Wuninitialized" } */
+
+int ij;
+
+void
+ql (void)
+{
+ int m5 = 0;
+
+ for (;;)
+ {
+ if (0)
+ for (;;)
+ {
+ int *go;
+ int *t4 = go;
+
+ l1:
+ *t4 = (*t4 != 0) ? 0 : 2; /* { dg-warning "may be used uninitialized" } */
+ }
+
+ if (ij != 0)
+ goto l1;
+ }
+}
diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c
index 68dcf15..4557403 100644
--- a/gcc/tree-ssa-uninit.c
+++ b/gcc/tree-ssa-uninit.c
@@ -2192,7 +2192,7 @@ can_chain_union_be_invalidated_p (pred_chain_union use_preds,
pred_chain c = use_preds[i];
bool entire_pred_chain_invalidated = false;
for (size_t j = 0; j < c.length (); ++j)
- if (can_one_predicate_be_invalidated_p (c[i], worklist))
+ if (can_one_predicate_be_invalidated_p (c[j], worklist))
{
entire_pred_chain_invalidated = true;
break;