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

Fixup to 2a3393eff853fe0a1dee766c859a345186e91fa3
This commit is contained in:
Andrew Kelley 2020-10-03 17:16:19 -07:00
parent 70f3767903
commit 0e7523c7d7

View File

@ -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;
}