From 1b229a305091f0a9c64e5be3c1af5ef62b75e3cb Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Thu, 25 Mar 2021 15:31:46 -0600 Subject: [PATCH] New test for PR tree-optimization/44547 - -Wuninitialized reports false warning in nested switch statements. gcc/testsuite/ChangeLog: * gcc.dg/uninit-pr44547.c: New. --- gcc/testsuite/gcc.dg/uninit-pr44547.c | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/uninit-pr44547.c diff --git a/gcc/testsuite/gcc.dg/uninit-pr44547.c b/gcc/testsuite/gcc.dg/uninit-pr44547.c new file mode 100644 index 0000000..ee1035a --- /dev/null +++ b/gcc/testsuite/gcc.dg/uninit-pr44547.c @@ -0,0 +1,61 @@ +/* PR tree-optimization/44547 - -Wuninitialized reports false warning + in nested switch statements + { dg-do compile } + { dg-options "-O1 -Wall" } */ + +__attribute__ ((noipa)) int test_O1 (int argc) +{ + switch( argc ) + { + case 1: + case 2: + case 4: + { + int n; + switch( argc ) + { + case 1: + case 2: + case 4: + n = argc; + break; + } + + return n; + + break; + } + } + + return 0; +} + + +#pragma GCC optimize ("2") + +__attribute__ ((noipa)) int test_O2 (int argc) +{ + switch( argc ) + { + case 1: + case 2: + case 4: + { + int n; + switch( argc ) + { + case 1: + case 2: + case 4: + n = argc; + break; + } + + return n; + + break; + } + } + + return 0; +} -- 2.7.4