| ... | ... | @@ -716,6 +716,7 @@ fn resolveLib( |
| 716 | 716 | const ParseError = error{ |
| 717 | 717 | UnknownFileType, |
| 718 | 718 | InvalidTarget, |
| 719 | InvalidTargetFatLibrary, |
| 719 | 720 | DylibAlreadyExists, |
| 720 | 721 | IncompatibleDylibVersion, |
| 721 | 722 | OutOfMemory, |
| ... | ... | @@ -856,7 +857,7 @@ pub fn parseFatLibrary( |
| 856 | 857 | for (fat_archs) |arch| { |
| 857 | 858 | ctx.detected_targets.appendAssumeCapacity(try ctx.arena.dupe(u8, @tagName(arch.tag))); |
| 858 | 859 | } |
| 859 | | return error.InvalidTarget; |
| 860 | return error.InvalidTargetFatLibrary; |
| 860 | 861 | }; |
| 861 | 862 | return offset; |
| 862 | 863 | } |
| ... | ... | @@ -4871,7 +4872,7 @@ pub fn handleAndReportParseError( |
| 4871 | 4872 | switch (err) { |
| 4872 | 4873 | error.DylibAlreadyExists => {}, |
| 4873 | 4874 | error.UnknownFileType => try self.reportParseError(path, "unknown file type", .{}), |
| 4874 | | error.InvalidTarget => { |
| 4875 | error.InvalidTarget, error.InvalidTargetFatLibrary => { |
| 4875 | 4876 | var targets_string = std.ArrayList(u8).init(self.base.allocator); |
| 4876 | 4877 | defer targets_string.deinit(); |
| 4877 | 4878 | try targets_string.writer().writeAll("("); |
| ... | ... | @@ -4880,10 +4881,20 @@ pub fn handleAndReportParseError( |
| 4880 | 4881 | } |
| 4881 | 4882 | try targets_string.resize(targets_string.items.len - 2); |
| 4882 | 4883 | try targets_string.writer().writeAll(")"); |
| 4883 | | try self.reportParseError(path, "invalid target: expected '{}', but found '{s}'", .{ |
| 4884 | | Platform.fromTarget(self.base.options.target).fmtTarget(cpu_arch), |
| 4885 | | targets_string.items, |
| 4886 | | }); |
| 4884 | |
| 4885 | switch (err) { |
| 4886 | error.InvalidTarget => try self.reportParseError( |
| 4887 | path, |
| 4888 | "invalid target: expected '{}', but found '{s}'", |
| 4889 | .{ Platform.fromTarget(self.base.options.target).fmtTarget(cpu_arch), targets_string.items }, |
| 4890 | ), |
| 4891 | error.InvalidTargetFatLibrary => try self.reportParseError( |
| 4892 | path, |
| 4893 | "invalid architecture in univeral library: expected '{s}', but found '{s}'", |
| 4894 | .{ @tagName(cpu_arch), targets_string.items }, |
| 4895 | ), |
| 4896 | else => unreachable, |
| 4897 | } |
| 4887 | 4898 | }, |
| 4888 | 4899 | else => |e| try self.reportParseError(path, "{s}: parsing object failed", .{@errorName(e)}), |
| 4889 | 4900 | } |