https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69388
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Dimitry Andric from comment #4) > As I discussed with libc++ maintainer Eric Fiselier, it would be nice if > those functions called terminate() in the 'fatal' case instead. Then you at > least have some standardized way of overriding the termination with your own > mechanism, which appears to be what the Mozilla authors wanted to achieve. I thought the point of the mozilla hacks is to ensure that the functions terminate the program instead of throwing an exception (which is the default). Simply changing __builtin_abort to std::terminate won't help: the default will still be to throw an exception. Whether they should terminate or abort is an entirely separate question, and unrelated to the mozilla hacks AFAICS.