setjmp is a function on some systems and a macro on others.
This header provides a SETJMP macro in a (fake) system header,
- for consistency of output across such systems. */
-
-#include <setjmp.h>
+ 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)