http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57646
Bug ID: 57646 Summary: bogus warning about uninitialized ‘saved_stack.1’ with gotos and VLAs Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: b.r.longbons at gmail dot com Created attachment 30321 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30321&action=edit minimal testcase The attached reduced testcase gives a warning that a nonexistent variable, 'saved_stack.1', may be used uninitialized. The testcase does not need any special compiler flags. There are a bunch of bugs with similar descriptions, but they either don't involve invented variables or were marked as fixed. In particular, it looks fairly similar to bug 43013, which was fixed before 4.6.0. The differences I can see are that this only seems to happen in C++ with VLAs. Bad versions, all amd64: Gentoo: 4.4.7, 4.5.4, 4.6.0, 4.6.1, 4.6.2, 4.6.3, 4.6.4, 4.7.0, 4.7.1, 4.7.2, 4.7.3 Debian: 4.6.4-2, 4.7.3-4, 4.8.1-2 4.3.6 does not exhibit this issue, but that's too old to compile the codebase this is in. Since I haven't found a workaround short of disabling the warning, I'm stuck with clang for now, which lacks support for a lot of other essential warnings (*grumbles about old bug reports that still aren't fixed*).