https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110137
--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> --- If a program really does need to ensure a particular TU assumes new can modify global memory (e.g. in the TU defining operator new, which makes use of some data structure) then that TU should probably be firewalled from the rest of the program, and not use LTO.