blob: 52c57d02b709845e9ded3ce2dc870b31d54384c5 [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 {
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)