authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-10-03 17:16:19-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-10-03 17:16:19-07:00
log0e7523c7d7eb42a5927be4de897ab623f033d2fe
treef377f7f68f872fd429b65eb844a3555fa4aa645d
parent70f37679035e64bacfc4807709da37bc02fbb346

stage1 main(): catch unreachable in debug builds for easier troubleshooting

Fixup to 2a3393eff853fe0a1dee766c859a345186e91fa3

1 files changed, 5 insertions(+), 6 deletions(-)

src/stage1.zig+5-6
...@@ -39,12 +39,11 @@ pub export fn main(argc: c_int, argv: [*]const [*:0]const u8) c_int {...@@ -39,12 +39,11 @@ pub export fn main(argc: c_int, argv: [*]const [*:0]const u8) c_int {
39 for (args) |*arg, i| {39 for (args) |*arg, i| {
40 arg.* = mem.spanZ(argv[i]);40 arg.* = mem.spanZ(argv[i]);
41 }41 }
42 stage2.mainArgs(gpa, arena, args) catch |err| {42 if (std.builtin.mode == .Debug) {
43 if (@errorReturnTrace()) |trace| {43 stage2.mainArgs(gpa, arena, args) catch unreachable;
44 std.debug.dumpStackTrace(trace.*);44 } else {
45 }45 stage2.mainArgs(gpa, arena, args) catch |err| fatal("{}", .{@errorName(err)});
46 fatal("unhandled internal error: {}", .{@errorName(err)});46 }
47 };
48 return 0;47 return 0;
49}48}
5049