aboutsummaryrefslogtreecommitdiff
path: root/src/userland.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-04-17 15:58:20 -0400
committerAndrew Kelley <andrew@ziglang.org>2019-04-17 15:58:20 -0400
commitff3cdbc3a078de1d54c13737264ed62f77ff1f50 (patch)
treeb2ff8f1a46a40a39268153b6f0971e6ee5403817 /src/userland.cpp
parent4ad7d09ba5f6f021cb6b6c2045e26fe252f61a27 (diff)
downloadzig-ff3cdbc3a078de1d54c13737264ed62f77ff1f50.tar.gz
zig-ff3cdbc3a078de1d54c13737264ed62f77ff1f50.zip
stage1 assertions always on, and have stack traces
Diffstat (limited to 'src/userland.cpp')
-rw-r--r--src/userland.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/userland.cpp b/src/userland.cpp
index 25b1492290..6c56bceaa0 100644
--- a/src/userland.cpp
+++ b/src/userland.cpp
@@ -2,9 +2,23 @@
// src-self-hosted/stage1.zig
#include "userland.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+void stage2_translate_c(void) {
+ const char *msg = "stage0 called stage2_translate_c";
+ stage2_panic(msg, strlen(msg));
+}
-void stage2_translate_c(void) {}
void stage2_zen(const char **ptr, size_t *len) {
- *ptr = nullptr;
- *len = 0;
+ const char *msg = "stage0 called stage2_zen";
+ stage2_panic(msg, strlen(msg));
+}
+
+void stage2_panic(const char *ptr, size_t len) {
+ fwrite(ptr, 1, len, stderr);
+ fprintf(stderr, "\n");
+ fflush(stderr);
+ abort();
}