https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91159
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid Status|UNCONFIRMED |NEW Last reconfirmed| |2019-07-13 Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- I think [class.default.ctor] p2 bullet (2.7) says that A()=default; should get defined as deleted, because Base has no default constructor. That seems like a defect in the standard because as you say, it doesn't need to construct Base. This seems related to https://wg21.link/cwg257 but the =default case seems to not have been fixed. Clang apparently does the "right" thing, in violation of the standard.