https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98130
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #8) > Oops, yes, dunno why it didn't work for me before, confirmed now that it > works with the patch and fails without. > > I think we want it even for the operator delete case, I believe the C++ > standard only constraints how the replaceable operators work, not arbitrary > user operator new/delete/new[]/delete[] operators. Note we already require to see a new/delete _expression_ and IIRC any delete expression will make the contents undefined (see my discussion with Jason on this topic). But yes, we have to preserve other side-effects so the ".c" part is probably bogus, the PTA code treats it as "..X ", "..o " would still make 'this' receive pointers. So we probably cannot model 'delete' beavior exactly but "..o " is probably good enough. Attempts to break it welcome, of course.