1.3 KiB
1.3 KiB
[csetjmp.syn]
17 Language support library [support]
17.14 Other runtime support [support.runtime]
17.14.3 Header synopsis [csetjmp.syn]
#define STDC_VERSION_SETJMP_H 202311Lnamespace std {using jmp_buf = see below; noreturn void longjmp(jmp_buf env, int val);}#define setjmp(env) see below
The contents of the header are the same as the C standard library header <setjmp.h>.
The function signaturelongjmp(jmp_buf jbuf, int val) has more restricted behavior in this document.
A setjmp/longjmp call pair has undefined behavior if replacing the setjmp and longjmp by catch and throw would invoke any non-trivial destructors for any objects with automatic storage duration.
A call to setjmp or longjmp has undefined behavior if invoked in a suspension context of a coroutine ([expr.await]).
See also: ISO/IEC 9899:2024, 7.13