Files
cppdraft_translate/cppdraft/csetjmp/syn.md
2025-10-25 03:02:53 +03:00

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

1

#

The contents of the header are the same as the C standard library header <setjmp.h>.

2

#

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