http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56991
--- Comment #2 from Matheus Izvekov <mizvekov at gmail dot com> 2013-04-18
08:10:19 UTC ---
I get also a similar bug:
#include <initializer_list>
//is accepted by gcc
constexpr std::initializer_list<int> good1 = { 1, 2, 3 };
struct foo { int a, b; };
//still ok
constexpr foo good2 = { 1, 2 };
//gcc rejects this
constexpr std::initializer_list<foo> bad = { { 1, 2 }, { 3, 4} };
Compiling this gives a similar error:
test.cc:12:64: error: ‘const std::initializer_list<foo>{((const foo*)(&
_ZGRL3bad0)), 2u}’ is not a constant expression