https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89944
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |ebotcazou at gcc dot gnu.org Resolution|--- |WONTFIX --- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- -- Built-in Function: void __builtin_longjmp (intptr_t *BUF, int VAL) This function restores the stack context in BUF, saved by a previous call to `__builtin_setjmp'. After `__builtin_longjmp' is finished, the program resumes execution as if the matching `__builtin_setjmp' returns the value VAL, which must be 1. Because `__builtin_longjmp' depends on the function return mechanism to restore the stack context, it cannot be called from the same function calling `__builtin_setjmp' to initialize BUF. It can only be called from a function called (directly or indirectly) from the function calling `__builtin_setjmp'.