diff options
author | Marek Polacek <polacek@redhat.com> | 2016-11-23 03:17:14 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2016-11-23 03:17:14 +0000 |
commit | 3135d8fe8a2ac2a88c9681494c6f1ea68d3ae614 (patch) | |
tree | 8bf57dac5cb7a92b92178044937046342418d98f /gcc | |
parent | c0137dcc605b4306dfb583f34434b15acd5471e4 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/uninit-23.c | 27 | ||||
-rw-r--r-- | gcc/tree-ssa-uninit.c | 2 |
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; |