cpp/utility/program/longjmp

Loads the execution context saved by a previous call to setjmp. This function does not return. Control is transferred to the call site of the macro setjmp that set up. That setjmp then returns the value, passed as the.

If the function that called setjmp has exited, the behavior is undefined (in other words, only long jumps up the call stack are allowed).

Extra restrictions in C++
On top of C, C++ has more restricted behavior.

If replacing with  and setjmp with  would invoke a non-trivial destructor for any automatic object, the behavior of such  is undefined.

Return value
(none)