https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117267
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The way __builtin_setjmp is implemented is via a non-local goto which GCC does not allow to be inlined. 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.