5.2.7 Unwinding Coexistence with setjmp/longjmp

The procedure invocation unwinding facility defined by this standard can coexist and interoperate with setjmp/longjmp facilities. It is sufficient for the jmp_buf array to consist of just the frame pointer and program counter values that are needed as arguments to RtlUnwind or RtlUnwindRfp. A null pointer can be provided for the ExceptionRecord argument and the value of the longjmp expression can be provided for the ReturnValue argument.

Any environment that conforms to this standard must implement nonlocal GOTOs by using RtlUnwind or RtlUnwindRfp (or an equivalent means) to allow all procedures being terminated to clean up any local or global state as appropriate.