https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114395
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- I disagree, A(b) definitely changed meaning. It now initializes A by copying the base part of b This is a combination of aggregates being allowed to have base classes and paren-init doing aggregate-init.