aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-12-28 21:48:56 -0700
committerAndrew Kelley <andrew@ziglang.org>2020-12-28 21:49:40 -0700
commite0a78d10ccb3c9b5d6ebb17f32ef3b79363cd4d0 (patch)
tree782264e99a163c7ffe8e289ddf93803dd7377209 /src/Compilation.zig
parent78dcd1b23ed4ca9d4202e1613ce2ec17c7b85e5c (diff)
downloadzig-e0a78d10ccb3c9b5d6ebb17f32ef3b79363cd4d0.tar.gz
zig-e0a78d10ccb3c9b5d6ebb17f32ef3b79363cd4d0.zip
stage2: better error message for root zig source file not found
closes #6777 closes #6893
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 39dd97c3a2..8a0a6ee58d 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -1629,7 +1629,7 @@ pub fn performAllTheWork(self: *Compilation) error{ TimerUnsupported, OutOfMemor
unreachable;
self.updateStage1Module(main_progress_node) catch |err| {
- fatal("unable to build stage1 zig object: {}", .{@errorName(err)});
+ fatal("unable to build stage1 zig object: {s}", .{@errorName(err)});
};
},
};
@@ -3001,7 +3001,12 @@ fn updateStage1Module(comp: *Compilation, main_progress_node: *std.Progress.Node
const prev_hash_state = man.hash.peekBin();
const input_file_count = man.files.items.len;
- if (try man.hit()) {
+ const hit = man.hit() catch |err| {
+ const i = man.failed_file_index orelse return err;
+ const file_path = man.files.items[i].path orelse return err;
+ fatal("unable to build stage1 zig object: {s}: {s}", .{ @errorName(err), file_path });
+ };
+ if (hit) {
const digest = man.final();
// We use an extra hex-encoded byte here to store some flags.