| ... | @@ -544,7 +544,7 @@ fn parseOs(result: *Query, diags: *ParseOptions.Diagnostics, text: []const u8) ! | ... | @@ -544,7 +544,7 @@ fn parseOs(result: *Query, diags: *ParseOptions.Diagnostics, text: []const u8) ! |
| 544 | const version_text = it.rest(); | 544 | const version_text = it.rest(); |
| 545 | if (version_text.len > 0) switch (tag.versionRangeTag()) { | 545 | if (version_text.len > 0) switch (tag.versionRangeTag()) { |
| 546 | .none => return error.InvalidOperatingSystemVersion, | 546 | .none => return error.InvalidOperatingSystemVersion, |
| 547 | .semver, .hurd, .linux => range: { | 547 | .semver, .hurd, .linux => { |
| 548 | var range_it = mem.splitSequence(u8, version_text, "..."); | 548 | var range_it = mem.splitSequence(u8, version_text, "..."); |
| 549 | result.os_version_min = .{ | 549 | result.os_version_min = .{ |
| 550 | .semver = parseVersion(range_it.first()) catch |err| switch (err) { | 550 | .semver = parseVersion(range_it.first()) catch |err| switch (err) { |
| ... | @@ -552,21 +552,25 @@ fn parseOs(result: *Query, diags: *ParseOptions.Diagnostics, text: []const u8) ! | ... | @@ -552,21 +552,25 @@ fn parseOs(result: *Query, diags: *ParseOptions.Diagnostics, text: []const u8) ! |
| 552 | error.InvalidVersion => return error.InvalidOperatingSystemVersion, | 552 | error.InvalidVersion => return error.InvalidOperatingSystemVersion, |
| 553 | }, | 553 | }, |
| 554 | }; | 554 | }; |
| 555 | result.os_version_max = .{ | 555 | if (range_it.next()) |v| { |
| 556 | .semver = parseVersion(range_it.next() orelse break :range) catch |err| switch (err) { | 556 | result.os_version_max = .{ |
| 557 | error.Overflow => return error.InvalidOperatingSystemVersion, | 557 | .semver = parseVersion(v) catch |err| switch (err) { |
| 558 | error.InvalidVersion => return error.InvalidOperatingSystemVersion, | 558 | error.Overflow => return error.InvalidOperatingSystemVersion, |
| 559 | }, | 559 | error.InvalidVersion => return error.InvalidOperatingSystemVersion, |
| 560 | }; | 560 | }, |
| | 561 | }; |
| | 562 | } |
| 561 | }, | 563 | }, |
| 562 | .windows => range: { | 564 | .windows => { |
| 563 | var range_it = mem.splitSequence(u8, version_text, "..."); | 565 | var range_it = mem.splitSequence(u8, version_text, "..."); |
| 564 | result.os_version_min = .{ | 566 | result.os_version_min = .{ |
| 565 | .windows = try Target.Os.WindowsVersion.parse(range_it.first()), | 567 | .windows = try Target.Os.WindowsVersion.parse(range_it.first()), |
| 566 | }; | 568 | }; |
| 567 | result.os_version_max = .{ | 569 | if (range_it.next()) |v| { |
| 568 | .windows = try Target.Os.WindowsVersion.parse(range_it.next() orelse break :range), | 570 | result.os_version_max = .{ |
| 569 | }; | 571 | .windows = try Target.Os.WindowsVersion.parse(v), |
| | 572 | }; |
| | 573 | } |
| 570 | }, | 574 | }, |
| 571 | }; | 575 | }; |
| 572 | } | 576 | } |