The {{ Wiki Markup setjmp()
}} macro should only be invoked from one of the contexts listed in §7§7.13.1.1 of \ [[ISO/IEC 9899:1999|AA. Bibliography#ISO/IEC 9899-1999]\]. Invoking {{setjmp()
}} outside of one of these contexts results in undefined behavior. (See [Undefined Behavior 119|CC. Undefined Behavior#ub_119].)
After invoking longjmp()
, non-volatile-qualified local objects should not be accessed if their values could have changed since the invocation of setjmp()
. Their value in this case is considered indeterminate, and accessing them is undefined behavior. (See Undefined Behavior 121, 10.)
The longjmp()
function should never be used to return control to a function that has terminated execution. (See Undefined Behavior 120.)
...