https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55805
--- Comment #6 from Gubbins <dave.gittins at gmail dot com> --- (In reply to Jonathan Wakely from comment #3) > (In reply to Gubbins from comment #2) > > The original bug report points that in C++11 this is *not* aggregate > > initialization, but is in fact value initialization (because this is a class > > type with a default constructor). > > No it isn't, it's an aggregate. It's clear that A is an aggregate type, but it is also a class type with a default constructor. Doesn't the quoted section of the C++11 specification therefore state that the object should be value-initialized?