https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111854
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- You are mixing up 2 different things. First this is about if the operator new is valid and it is because there is a corresponding placement delete operator (this would be rejected at compile time). Second is if you can call the normal delete on an allocated memory from that inplacement new call. The answer is yes you can and not invoke undefined behavior.