https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107106
Bug ID: 107106 Summary: Incorrect use of uninitialized value warning Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jlame646 at gmail dot com Target Milestone: --- The following program with `-fanalyzer` flag produces incorrect warning. Demo: https://godbolt.org/z/YWd4cKbGc ``` #include <string> std::string square(int num) { return std::to_string(num * num); } ``` The warning says: ``` <source>: In function 'std::string square(int)': <source>:4:36: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 4 | return std::to_string(num * num); | ^ 'std::string square(int)': events 1-2 | | 3 | std::string square(int num) { | | ^ | | | | | (1) region created on stack here | 4 | return std::to_string(num * num); | | ~ | | | | | (2) use of uninitialized value '<unknown>' here | <source>:4:36: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 4 | return std::to_string(num * num); | ^ 'std::string square(int)': events 1-2 | | 3 | std::string square(int num) { | | ^ | | | | | (1) region created on stack here | 4 | return std::to_string(num * num); | | ~ | | | | | (2) use of uninitialized value '<unknown>' here | ``` On searching for possible dupes, i came across this: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=13025 that may be related to this bug.