https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90137
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- so the reasoning is because we need to cleanup the partial initialized object. GCC is correct in rejecting this here and clang and other compilers have same behavior even.