aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/c-c++-common/pr59223.c13
-rw-r--r--gcc/tree-ssa-uninit.c2
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 {