https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99845
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> --- Alternatively, compile with -fcheck-new to tell the compiler that *all* operator new overloads can return a null pointer. That means it always checks for null, even for overloads that are declared as potentially-throwing. This is probably not what you want to do, you probably just need to use 'noexcept' in the right places.