https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110137
--- Comment #14 from user202729 <user202729 at protonmail dot com> --- Regarding alias analysis. The current implementaion is such that: compiler | flag | can alias?| can modify global?| gcc | sane | no | no | << NEW | no-sane [default]| no | yes | clang | sane [default] | no | no | | no-sane | yes | yes | [the standard]| | no | yes | As pointed out in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035#c13 , gcc already assume operator new's retuned pointer cannot alias any existing pointer. So no change is needed there.