https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117785
--- Comment #36 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I think that would be weird, because it changes behavior between constant evaluation and runtime. And very hard to implement at least on the GCC side. The constant evaluation is on IL which already includes calls like __cxa_throw_bad_array_new_length() or not depending on -fexceptions etc., plus preprocessor flags like __cpp_exceptions are defined based on -fexceptions or -fno-exceptions, so the code being parsed already might take into account whether exceptions can or can't happen.