aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-10-01 09:40:03 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-10-01 09:40:03 +0200
commit2a3393eff853fe0a1dee766c859a345186e91fa3 (patch)
tree9ed4eb053221d19593923212288bd37a2462aa6f /src
parent4eb390b157fcc047a707ad0a2a522911c2269cd6 (diff)
downloadzig-2a3393eff853fe0a1dee766c859a345186e91fa3.tar.gz
zig-2a3393eff853fe0a1dee766c859a345186e91fa3.zip
Adds error return trace printing to stage1.
Diffstat (limited to 'src')
-rw-r--r--src/stage1.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/stage1.zig b/src/stage1.zig
index a989ad4be3..10b85899c2 100644
--- a/src/stage1.zig
+++ b/src/stage1.zig
@@ -39,7 +39,12 @@ 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| fatal("{}", .{@errorName(err)});
+ stage2.mainArgs(gpa, arena, args) catch |err| {
+ if (@errorReturnTrace()) |trace| {
+ std.debug.dumpStackTrace(trace.*);
+ }
+ fatal("unhandled internal error: {}", .{@errorName(err)});
+ };
return 0;
}