zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit fcb088cb6abf8a0a20de2650491c2d9a4b1ba399 (tree)
parent 96be6f6566b19c242220f0f8571dc81ecadf6a79
Author: KNnut <hahv@msn.com>
Date:   Mon,  4 Aug 2025 23:07:49 +0800

std.Target.Query: fix `WindowsVersion` format in `zigTriple()`

Diffstat:
Mlib/std/Target/Query.zig | 20++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/lib/std/Target/Query.zig b/lib/std/Target/Query.zig @@ -423,7 +423,7 @@ pub fn zigTriple(self: Query, gpa: Allocator) Allocator.Error![]u8 { try formatVersion(v, gpa, &result); }, .windows => |v| { - try result.print(gpa, "{d}", .{v}); + try result.print(gpa, "{f}", .{v}); }, } } @@ -437,7 +437,7 @@ pub fn zigTriple(self: Query, gpa: Allocator) Allocator.Error![]u8 { .windows => |v| { // This is counting on a custom format() function defined on `WindowsVersion` // to add a prefix '.' and make there be a total of three dots. - try result.print(gpa, "..{d}", .{v}); + try result.print(gpa, "..{f}", .{v}); }, } } @@ -729,4 +729,20 @@ test parse { defer std.testing.allocator.free(text); try std.testing.expectEqualSlices(u8, "aarch64-linux.3.10...4.4.1-android.30", text); } + { + const query = try Query.parse(.{ + .arch_os_abi = "x86-windows.xp...win8-msvc", + }); + const target = try std.zig.system.resolveTargetQuery(query); + + try std.testing.expect(target.cpu.arch == .x86); + try std.testing.expect(target.os.tag == .windows); + try std.testing.expect(target.os.version_range.windows.min == .xp); + try std.testing.expect(target.os.version_range.windows.max == .win8); + try std.testing.expect(target.abi == .msvc); + + const text = try query.zigTriple(std.testing.allocator); + defer std.testing.allocator.free(text); + try std.testing.expectEqualSlices(u8, "x86-windows.xp...win8-msvc", text); + } }