http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53707
--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-18 09:58:04 UTC --- (In reply to comment #5) > The wrong code here seems to be 'n' treated as a constant - there was a bug > (regarding freeciv, IIRC) of a similar case for an older gcc version. > > As for gcc 4.6.4, when will it be released ? GCC 4.6.4 is already released. Btw, I see private: enum : unsigned { Codes = 128 }; struct Cheat { string code; string desc; }; Cheat cheat[Codes]; and supposedly that array is being accessed. I have no idea what the 'enum : unsigned { Codes = 128 }' syntax is about. Is the bug going away if you change that to use C++98 only features (like for example using a const unsigned int Codes = 128;)