summaryrefslogtreecommitdiff
path: root/05/tcc-0.9.27/setjmp.h
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2022-02-18 12:36:57 -0500
committerpommicket <pommicket@gmail.com>2022-02-18 12:36:57 -0500
commit826d1afd58c2e064a9c8fdb09eda1b08469de1a8 (patch)
treeb4fedc589a1944f6cf3f451a9db976b431e89b25 /05/tcc-0.9.27/setjmp.h
parentc42c5d94b8944e19cd17a5b540e4c70013c62b92 (diff)
newer version of tcc almost working
Diffstat (limited to '05/tcc-0.9.27/setjmp.h')
-rw-r--r--05/tcc-0.9.27/setjmp.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/05/tcc-0.9.27/setjmp.h b/05/tcc-0.9.27/setjmp.h
new file mode 100644
index 0000000..b3ffce1
--- /dev/null
+++ b/05/tcc-0.9.27/setjmp.h
@@ -0,0 +1,21 @@
+#ifndef _SETJMP_H
+#define _SETJMP_H
+
+#include <stdc_common.h>
+
+typedef long jmp_buf[3];
+
+// @NONSTANDARD: we don't actually support setjmp
+
+int setjmp(jmp_buf env) {
+ return 0;
+}
+
+void __longjmp(jmp_buf env, int val, const char *filename, int line) {
+ fprintf(stderr, "Error: Tried to longjmp from %s:%d with value %d\n", filename, line, val);
+ _Exit(-1);
+}
+
+#define longjmp(env, val) __longjmp(env, val, __FILE__, __LINE__)
+
+#endif