http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54947
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-11-07 CC| |jakub at gcc dot gnu.org, | |jason at gcc dot gnu.org Target Milestone|--- |4.7.3 Ever Confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-11-07 10:01:02 UTC --- Started with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176530 This clashes with the C99 designated initializers (as GNU extension for C++). Guess perhaps the designated array initializers need to be parsed tentatively for C++11, and if they aren't valid, we'd retry as lambdas. It seems that C++ only supports the C99 style array designators ([constant] = something) which aren't ambiguous with lambdas (unlike the old [constant] something), are they? Note that constexpr int i = 0; int a[] = { [i] = 0 }; ICEs currently with -std=gnu++11.