]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR tree-optimization/61677 - False positive with -Wmaybe-uninitialized
authorMartin Sebor <msebor@redhat.com>
Mon, 29 Mar 2021 21:21:32 +0000 (15:21 -0600)
committerMartin Sebor <msebor@redhat.com>
Mon, 29 Mar 2021 21:23:03 +0000 (15:23 -0600)
gcc/testsuite/ChangeLog:
PR tree-optimization/61677
* gcc.dg/uninit-pr61677.c: New test.

gcc/testsuite/gcc.dg/uninit-pr61677.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.dg/uninit-pr61677.c b/gcc/testsuite/gcc.dg/uninit-pr61677.c
new file mode 100644 (file)
index 0000000..a982fae
--- /dev/null
@@ -0,0 +1,26 @@
+/* PR tree-optimization/61677 - False positive with -Wmaybe-uninitialized
+   { dg-do compile }
+   { dg-options "-O2 -Wall" } */
+
+void *xmalloc (void);
+
+struct menu { struct menu *parent; };
+
+struct jump_key { int offset; };
+
+void f (struct menu *menu)
+{
+  int i;
+  struct menu *submenu[8], *location;
+  struct jump_key *jump;
+  location = menu;
+  for (i = 0; menu && i < 8; menu = menu->parent)
+    submenu[i++] = menu;
+  if (location)
+    jump = xmalloc ();
+  while (--i >= 0) {
+    menu = submenu[i];
+    if (location)
+      jump->offset = 42;
+  }
+}