https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55805
--- Comment #9 from Gubbins <dave.gittins at gmail dot com> --- (In reply to Jonathan Wakely from comment #8) > (In reply to Gubbins from comment #5) > > The warning is still produced with gcc 4.9.2 (surely that's supported?) > > The warning isn't given for 5.1 and trunk (not sure what I tested before). > > (In reply to Gubbins from comment #6) > > 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? > > Nope. > > 8.5.4 says: > > — Otherwise, if T is an aggregate, aggregate initialization is performed > (8.5.1). > — Otherwise, if the initializer list has no elements and T is a class type > with a default constructor, the object is value-initialized. The C++11 > wording was fixed by a defect report, see > http://open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#1301 Oh I see... sorry, I was working off the text from before the defect report. > (In reply to Gubbins from comment #7) > > Anyway, even if this is classified as aggregate initialization (which I > > believe it is in C++14?), I believe the behaviour should be changed. > > It already has been for gcc-5. I see, thanks. Will there be no more releases on the 4.9 branch?