[Bug libstdc++/68210] nothrow operator fails to call default new
matthijs at stdin dot nl
gcc-bugzilla@gcc.gnu.org
Fri Jul 29 16:27:00 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68210
Matthijs Kooijman <matthijs at stdin dot nl> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |matthijs at stdin dot nl
--- Comment #8 from Matthijs Kooijman <matthijs at stdin dot nl> ---
Note that in comment:2, Jonathan Wakely pointed out a caveat:
> Also we certainly don't want to conform to the new requirement when
> libstdc++ is built with -fno-exceptions, because allocation failure
> would abort in operator new(size_t) and so the nothrow version never
> gets a chance to handle the exception and return null.
But this was not taken into account when implementing the fix for this issue,
meaning nothrow operators are now effectively useless with -fno-exceptions (and
there is thus no way to handle allocation failure other than aborting in that
case).
I created a new bug report about this here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106477
More information about the Gcc-bugs
mailing list