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*).