From 3cc19cd86518f8ae2a7bd48577d30577cfbbd391 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 19 Oct 2024 00:09:52 -0700 Subject: [PATCH] better error messages --- src/link.zig | 12 ++++++------ test/link/elf.zig | 2 +- 2 files changed, 7 insertions(+), 7 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)}), }, }; } diff --git a/test/link/elf.zig b/test/link/elf.zig index fb0e0a7d1d..63359aa33b 100644 --- a/test/link/elf.zig +++ b/test/link/elf.zig @@ -3910,7 +3910,7 @@ fn testUnknownFileTypeError(b: *Build, opts: Options) *Step { exe.linkLibC(); expectLinkErrors(exe, test_step, .{ - .contains = "error: failed to parse shared object: BadMagic", + .contains = "error: failed to parse shared library: BadMagic", }); return test_step;