https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69384
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- N.B. if you just do "B b;" you get an error, but "B b{};" explicitly zero-initializes the entire object, so nothing is left uninitialized.