From fecc835e216f537d3e7edb833cb3769489b983bb Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Mon, 29 Mar 2021 15:21:32 -0600 Subject: [PATCH] PR tree-optimization/61677 - False positive with -Wmaybe-uninitialized gcc/testsuite/ChangeLog: PR tree-optimization/61677 * gcc.dg/uninit-pr61677.c: New test. --- gcc/testsuite/gcc.dg/uninit-pr61677.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/uninit-pr61677.c diff --git a/gcc/testsuite/gcc.dg/uninit-pr61677.c b/gcc/testsuite/gcc.dg/uninit-pr61677.c new file mode 100644 index 000000000000..a982fae31a47 --- /dev/null +++ b/gcc/testsuite/gcc.dg/uninit-pr61677.c @@ -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; + } +} -- 2.47.2