https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19808
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org --- Comment #38 from Jason Merrill <jason at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #37) If you add a Y y{}; GCC warns about the Y constructor. We don't warn about the implicit X constructor because we don't clobber the object at the beginning of an implicit constructor, because value-initialization zero-initializes the object before calling the implicit constructor, and we mustn't clobber that initialization (bug 68006). The middle end relies on the clobber to know what's uninitialized, so we don't get the warning here. It would be appropriate to give a maybe-uninitialized warning here, though. I don't know how complicated it would be to do that using the existing mechanisms.