aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-10-03 17:16:19 -0700
committerAndrew Kelley <andrew@ziglang.org>2020-10-03 17:16:19 -0700
commit0e7523c7d7eb42a5927be4de897ab623f033d2fe (patch)
treef377f7f68f872fd429b65eb844a3555fa4aa645d /src
parent70f37679035e64bacfc4807709da37bc02fbb346 (diff)
downloadzig-0e7523c7d7eb42a5927be4de897ab623f033d2fe.tar.gz
zig-0e7523c7d7eb42a5927be4de897ab623f033d2fe.zip
stage1 main(): catch unreachable in debug builds for easier troubleshooting
Fixup to 2a3393eff853fe0a1dee766c859a345186e91fa3
Diffstat (limited to 'src')
-rw-r--r--src/stage1.zig11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/stage1.zig b/src/stage1.zig
index 10b85899c2..f26622ee89 100644
--- a/src/stage1.zig
+++ b/src/stage1.zig
@@ -39,12 +39,11 @@ pub export fn main(argc: c_int, argv: [*]const [*:0]const u8) c_int {
for (args) |*arg, i| {
arg.* = mem.spanZ(argv[i]);
}
- stage2.mainArgs(gpa, arena, args) catch |err| {
- if (@errorReturnTrace()) |trace| {
- std.debug.dumpStackTrace(trace.*);
- }
- fatal("unhandled internal error: {}", .{@errorName(err)});
- };
+ if (std.builtin.mode == .Debug) {
+ stage2.mainArgs(gpa, arena, args) catch unreachable;
+ } else {
+ stage2.mainArgs(gpa, arena, args) catch |err| fatal("{}", .{@errorName(err)});
+ }
return 0;
}