aboutsummaryrefslogtreecommitdiff
path: root/src/link.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-10-19 00:09:52 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-10-23 16:27:38 -0700
commit3cc19cd86518f8ae2a7bd48577d30577cfbbd391 (patch)
treee862825f98356ab4262b1e5aed49816ae876bdce /src/link.zig
parentd1ecb742ec5cb80e29178fddefe6663bed40daa8 (diff)
downloadzig-3cc19cd86518f8ae2a7bd48577d30577cfbbd391.tar.gz
zig-3cc19cd86518f8ae2a7bd48577d30577cfbbd391.zip
better error messages
Diffstat (limited to 'src/link.zig')
-rw-r--r--src/link.zig12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/link.zig b/src/link.zig
index bf4d182d35..b6a8cdebaf 100644
--- a/src/link.zig
+++ b/src/link.zig
@@ -1383,12 +1383,12 @@ pub const File = struct {
for (comp.link_inputs) |input| {
base.loadInput(input) catch |err| switch (err) {
error.LinkFailure => return, // error reported via link_diags
- else => |e| {
- if (input.path()) |path| {
- comp.link_diags.addParseError(path, "failed to parse linker input: {s}", .{@errorName(e)});
- } else {
- comp.link_diags.addError("failed to {s}: {s}", .{ input.taskName(), @errorName(e) });
- }
+ else => |e| switch (input) {
+ .dso => |dso| comp.link_diags.addParseError(dso.path, "failed to parse shared library: {s}", .{@errorName(e)}),
+ .object => |obj| comp.link_diags.addParseError(obj.path, "failed to parse object: {s}", .{@errorName(e)}),
+ .archive => |obj| comp.link_diags.addParseError(obj.path, "failed to parse archive: {s}", .{@errorName(e)}),
+ .res => |res| comp.link_diags.addParseError(res.path, "failed to parse Windows resource: {s}", .{@errorName(e)}),
+ .dso_exact => comp.link_diags.addError("failed to handle dso_exact: {s}", .{@errorName(e)}),
},
};
}