blob: db2422709e280c8cf3aea9bb9d4c8510c8bf2f78 [file] [log] [blame]
/* 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 {};
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)