https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51747
--- Comment #10 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- This code fails with the current trunk: struct B {}; struct D : B {D(B b) : B{b} {}}; base-aggr-init.cpp: In constructor ‘D::D(B)’: base-aggr-init.cpp:2:27: error: too many initializers for ‘B’ struct D : B {D(B b) : B{b} {}}; ^ As far as I can see, the function process_init_constructor_record in typeck2.c emits the diagnostic.