]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/59223 (-Wmaybe-uninitialized and -Wuninitialized relationships)
authorMarek Polacek <polacek@redhat.com>
Thu, 27 Feb 2014 08:05:21 +0000 (08:05 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Thu, 27 Feb 2014 08:05:21 +0000 (08:05 +0000)
PR middle-end/59223
* tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
-Wmaybe-uninitialized.
testsuite/
* c-c++-common/pr59223.c: New test.

From-SVN: r208196

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr59223.c [new file with mode: 0644]
gcc/tree-ssa-uninit.c

index fd951a7ee3f2caa4a8d19774153cbd6ec4e47809..b62103c31cc69d0868ce3ef2f351d604d2b21ffb 100644 (file)
@@ -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
index 48e2a1791fe8647915208d44b1a3656d761ec478..128a5f7f8d7d52475428b962f1557d4f16d1fe0f 100644 (file)
@@ -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 (file)
index 0000000..471c062
--- /dev/null
@@ -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" } */
+}
index d9b33b13e9b8ca52d142ab59104433be02ee34ba..eee83f79a9acaba83ab4aedb7f720af00563f419 100644 (file)
@@ -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 {