https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105273
Bug ID: 105273 Summary: -Wanalyzer-use-of-uninitialized-value warns on "missing" default for switch when callers can be statically determined Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: avarab at gmail dot com Target Milestone: --- Created attachment 52807 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52807&action=edit test case with an enum With GCC 12.0 built from c1ff207af66 (ppc: testsuite: skip pr60203 on no ldbl128, 2022-04-12) I get a warning on the attached test case: gcc -fanalyzer analyze.c analyze.c: In function ‘vreportf’: analyze.c:28:17: warning: use of uninitialized value ‘pfx’ [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 28 | snprintf(buf, sizeof(buf), "%s", pfx); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ‘vreportf’: events 1-6 | | 13 | const char *pfx; | | ^~~ | | | | | (1) region created on stack here | 14 | | 15 | switch (kind) { | | ~~~~~~ | | | | | (2) following ‘default:’ branch... |...... | 25 | if (kind == USAGE_BUG) | | ~ | | | | | (3) ...to here | | (4) following ‘false’ branch (when ‘kind != 1’)... |...... | 28 | snprintf(buf, sizeof(buf), "%s", pfx); | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | | (5) ...to here | | (6) use of uninitialized value ‘pfx’ here |