/* Various integration tests for setjmp-handling expect a precise multiline output. The outputs from -fdiagnostics-path-format=inline-events for such setjmp tests are dependent on whether setjmp is a macro or a function (and whether that macro is defined in a system header). setjmp is a function on some systems and a macro on others. This header provides a SETJMP macro in a (fake) system header, along with precanned decls of setjmp, for consistency of output across different systems. */ #pragma GCC system_header struct __jmp_buf_tag { char buf[1]; }; typedef struct __jmp_buf_tag jmp_buf[1]; typedef struct __jmp_buf_tag sigjmp_buf[1]; extern int setjmp(jmp_buf env); extern int sigsetjmp(sigjmp_buf env, int savesigs); extern void longjmp(jmp_buf env, int val); extern void siglongjmp(sigjmp_buf env, int val); #define SETJMP(E) setjmp(E)