aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Target/Query.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2024-11-23 17:57:39 +0100
committerAlex Rønne Petersen <alex@alexrp.com>2024-11-24 22:11:16 +0100
commit24ecf45569f10743c5df6a39e6e71dcee265786a (patch)
treea2ed9bb83aa902511e10acc66d6d141b6d895e46 /lib/std/Target/Query.zig
parent6d781e0955e7dd2b6cc17a5bb43c790e19a07ac0 (diff)
downloadzig-24ecf45569f10743c5df6a39e6e71dcee265786a.tar.gz
zig-24ecf45569f10743c5df6a39e6e71dcee265786a.zip
std.Target: Add Os.HurdVersionRange for Os.Tag.hurd.
This is necessary since isGnuLibC() is true for hurd, so we need to be able to represent a glibc version for it. Also add an Os.TaggedVersionRange.gnuLibCVersion() convenience function.
Diffstat (limited to 'lib/std/Target/Query.zig')
-rw-r--r--lib/std/Target/Query.zig10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/std/Target/Query.zig b/lib/std/Target/Query.zig
index f3e280ee32..144b2d60af 100644
--- a/lib/std/Target/Query.zig
+++ b/lib/std/Target/Query.zig
@@ -102,7 +102,7 @@ pub fn fromTarget(target: Target) Query {
.os_version_min = undefined,
.os_version_max = undefined,
.abi = target.abi,
- .glibc_version = if (target.isGnuLibC()) target.os.version_range.linux.glibc else null,
+ .glibc_version = target.os.versionRange().gnuLibCVersion(),
.android_api_level = if (target.abi.isAndroid()) target.os.version_range.linux.android else null,
};
result.updateOsVersionRange(target.os);
@@ -132,9 +132,9 @@ fn updateOsVersionRange(self: *Query, os: Target.Os) void {
.{ .semver = os.version_range.semver.min },
.{ .semver = os.version_range.semver.max },
},
- .linux => .{
- .{ .semver = os.version_range.linux.range.min },
- .{ .semver = os.version_range.linux.range.max },
+ inline .hurd, .linux => |t| .{
+ .{ .semver = @field(os.version_range, @tagName(t)).range.min },
+ .{ .semver = @field(os.version_range, @tagName(t)).range.max },
},
.windows => .{
.{ .windows = os.version_range.windows.min },
@@ -544,7 +544,7 @@ fn parseOs(result: *Query, diags: *ParseOptions.Diagnostics, text: []const u8) !
const version_text = it.rest();
if (version_text.len > 0) switch (tag.versionRangeTag()) {
.none => return error.InvalidOperatingSystemVersion,
- .semver, .linux => range: {
+ .semver, .hurd, .linux => range: {
var range_it = mem.splitSequence(u8, version_text, "...");
result.os_version_min = .{
.semver = parseVersion(range_it.first()) catch |err| switch (err) {