https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117267
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ebotcazou at gcc dot gnu.org --- Comment #14 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > GCC has been erroring out since at least 4.5.0 (14 years ago). Changing how > __builtin_setjmp works is not going to happen because it is only designed > for sjlj exceptions for the Ada runtime. Remove "for the Ada runtime" here. It's also used for SJLJ in C++ on 32-bit Windows for example (unless DONT_USE_BUILTIN_SETJMP is defined). See the internal manual, 18.20.9 Assembler Commands for Exception Regions: -- Macro: DONT_USE_BUILTIN_SETJMP Define this macro to 1 if the 'setjmp'/'longjmp'-based scheme should use the 'setjmp'/'longjmp' functions from the C library instead of the '__builtin_setjmp'/'__builtin_longjmp' machinery.