https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91761
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- After operator new but before the constructor, the object does not really exist so any values done before the constructor is called are considered as undefined. So GCC is valid in removing them.