diff options
author | Martin Sebor <msebor@redhat.com> | 2021-03-29 15:21:32 -0600 |
---|---|---|
committer | Martin Sebor <msebor@redhat.com> | 2021-03-29 15:23:03 -0600 |
commit | fecc835e216f537d3e7edb833cb3769489b983bb (patch) | |
tree | 38ab1676239efde888a7908132e90acac73b67ab | |
parent | 645bfc161987a12395869728b63ed01084d23c00 (diff) | |
download | gcc-fecc835e216f537d3e7edb833cb3769489b983bb.zip gcc-fecc835e216f537d3e7edb833cb3769489b983bb.tar.gz gcc-fecc835e216f537d3e7edb833cb3769489b983bb.tar.bz2 |
PR tree-optimization/61677 - False positive with -Wmaybe-uninitialized
gcc/testsuite/ChangeLog:
PR tree-optimization/61677
* gcc.dg/uninit-pr61677.c: New test.
-rw-r--r-- | gcc/testsuite/gcc.dg/uninit-pr61677.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/uninit-pr61677.c b/gcc/testsuite/gcc.dg/uninit-pr61677.c new file mode 100644 index 0000000..a982fae --- /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; + } +} |