gcc/testsuite/ChangeLog:
PR tree-optimization/61677
* gcc.dg/uninit-pr61677.c: New test.
--- /dev/null
+/* 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;
+ }
+}