diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/pr59223.c | 13 | ||||
-rw-r--r-- | gcc/tree-ssa-uninit.c | 2 |
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fd951a7..b62103c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-02-27 Marek Polacek <polacek@redhat.com> + + PR middle-end/59223 + * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for + -Wmaybe-uninitialized. + 2014-02-27 Alan Modra <amodra@gmail.com> PR target/57936 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 48e2a17..128a5f7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-02-27 Marek Polacek <polacek@redhat.com> + + PR middle-end/59223 + * c-c++-common/pr59223.c: New test. + 2014-02-26 Ilya Tocar <ilya.tocar@intel.com> * common/config/i386/predicates.md (const1256_operand): Remove. diff --git a/gcc/testsuite/c-c++-common/pr59223.c b/gcc/testsuite/c-c++-common/pr59223.c new file mode 100644 index 0000000..471c062 --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr59223.c @@ -0,0 +1,13 @@ +/* PR c/59223 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -Wmaybe-uninitialized" } */ + +int foo (int x) +{ + int y; + if (x == 0) + y = 1; + else if (x == 1) + y = 2; + return y; /* { dg-warning "may be used uninitialized in this function" } */ +} diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c index d9b33b1..eee83f7 100644 --- a/gcc/tree-ssa-uninit.c +++ b/gcc/tree-ssa-uninit.c @@ -2355,7 +2355,7 @@ execute_late_warn_uninitialized (void) static bool gate_warn_uninitialized (void) { - return warn_uninitialized != 0; + return warn_uninitialized || warn_maybe_uninitialized; } namespace { |