commit 0e7523c7d7eb42a5927be4de897ab623f033d2fe (tree)
parent 70f37679035e64bacfc4807709da37bc02fbb346
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sat, 3 Oct 2020 17:16:19 -0700
stage1 main(): catch unreachable in debug builds for easier troubleshooting
Fixup to 2a3393eff853fe0a1dee766c859a345186e91fa3
Diffstat:
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git 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;
}