https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92879
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The placement new is inlined at this point, the operator new that remains is replaceable and because a is a global variable, its address needs to be considered escaped. While access to not yet fully constructed var from another TU might be problematic, in what the restrict pass we actually don't know (unless we look at abstract origin and prove there is no post-ctor code in between) it is a ctor which would have such restrictions.