The function signature
longjmp(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])
.