Skip to content

Commit 36e515d

Browse files
committed
Add a requirements test and disable the tests in workspace mode as that is not setup correctly. Since it s going away there is also no point in adding and fixing it now.
1 parent d0c62b6 commit 36e515d

File tree

6 files changed

+199
-19
lines changed

6 files changed

+199
-19
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
os: [macos-latest, ubuntu-latest]
3131
# TODO: Test with Bazel 8 after https://github.com/bazelbuild/bazel/pull/24154 has been released.
3232
bazel_version: [7.x, latest] # Minimum supported Bazel version is 7.x
33-
bzlmod: [true, false]
33+
bzlmod: [true] # Tests currently do not work as Workspaces have not been setup accordingly.
3434
runs-on: ${{ matrix.os }}
3535
steps:
3636
- uses: actions/checkout@v4

toolchain/deps.bzl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,10 @@ def bazel_toolchain_dependencies():
3636
)
3737

3838
# Skip bazel_skylib_workspace because we are not using lib/unittest.bzl
39+
40+
if not native.existing_rule("helly25_bzl"):
41+
http_archive(
42+
name = "helly25_bzl",
43+
url = "https://github.com/helly25/bzl/releases/download/0.1.1/bzl-0.1.1.tar.gz",
44+
sha256 = "340c6f93dd11d274756b856a85d1dcdfe39b9c81986fb1a95ee36b6c7b680e3c",
45+
)

toolchain/internal/BUILD.bazel

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,30 @@
1313
# limitations under the License.
1414

1515
load("@bazel_skylib//rules:diff_test.bzl", "diff_test")
16-
load("llvm_distributions.bzl", "write_distributions")
16+
load("llvm_distributions.bzl", "distributions_test_writer", "requirements_test_writer")
1717

1818
exports_files(["template.modulemap"])
1919

20-
write_distributions(
21-
name = "llvm_distributions",
20+
distributions_test_writer(
21+
name = "llvm_distributions_test_output",
22+
testonly = True,
23+
visibility = ["//visibility:private"],
24+
)
25+
26+
requirements_test_writer(
27+
name = "llvm_requirements_test_output",
2228
testonly = True,
2329
visibility = ["//visibility:private"],
2430
)
2531

2632
diff_test(
2733
name = "llvm_distributions_test",
28-
file1 = "llvm_distributions.golden.txt",
29-
file2 = "llvm_distributions",
34+
file1 = "llvm_distributions_test.golden.txt",
35+
file2 = "llvm_distributions_test_output",
36+
)
37+
38+
diff_test(
39+
name = "llvm_requirements_test",
40+
file1 = "llvm_requirements_test.golden.txt",
41+
file2 = "llvm_requirements_test_output",
3042
)

toolchain/internal/llvm_distributions.bzl

Lines changed: 74 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,16 @@ def _parse_version_requirements(version_requirements):
821821
version_requirements = version_requirements,
822822
))
823823

824+
def _latest_llvm_release_name(arch, os, version_requirements):
825+
requires = _parse_version_requirements(version_requirements)
826+
for llvm_version in reversed(_llvm_distributions_base_url.keys()):
827+
if not _versions.check_all_requirements(llvm_version, requires):
828+
continue
829+
basenames = _find_llvm_basename_list(llvm_version, arch, os)
830+
if len(basenames) == 1:
831+
return (llvm_version, basenames[0])
832+
return (None, None)
833+
824834
def latest_llvm_release_name_or_fail(rctx, version_requirements):
825835
"""Find the latest distribution given `arch` and `os` from `rctx`.
826836
@@ -831,13 +841,9 @@ def latest_llvm_release_name_or_fail(rctx, version_requirements):
831841
"""
832842
arch = _arch(rctx)
833843
os = _os(rctx)
834-
requires = _parse_version_requirements(version_requirements)
835-
for llvm_version in reversed(_llvm_distributions_base_url.keys()):
836-
if not _versions.check_all_requirements(llvm_version, requires):
837-
continue
838-
basenames = _find_llvm_basename_list(llvm_version, arch, os)
839-
if len(basenames) == 1:
840-
return (llvm_version, basenames[0])
844+
llvm_version, basename = _latest_llvm_release_name(arch, os, version_requirements)
845+
if llvm_version and basename:
846+
return llvm_version, basename
841847
fail("Could not find any LLVM distribution for {os} on {arch}.".format(
842848
arch = arch,
843849
os = os,
@@ -925,16 +931,16 @@ def download_llvm(rctx):
925931
return updated_attrs
926932

927933
DistrubutionsInfo = provider(
928-
"The output info for the `write_distributions` rule.",
934+
"The output info for the `distributions_test_writer` rule.",
929935
fields = {
930936
"out": "output File",
931937
},
932938
)
933939

934-
def _write_distributions_impl(ctx):
940+
def _distributions_test_writer_impl(ctx):
935941
"""Analyze the configured versions and write to a file for test consumption.
936942
937-
The test generated file '<rule_name>.out' contains the following lines:
943+
The test generated file '<rule_name>.txt' contains the following lines:
938944
- a 'miss:' line denotes a llvm distribution basename that was not found.
939945
- a 'add:' line denotes a version that was predicted but does not exist.
940946
@@ -969,15 +975,70 @@ def _write_distributions_impl(ctx):
969975
for dist in not_found:
970976
result[dist] = False
971977
output = [("add: " if found else "del: ") + dist for dist, found in result.items()]
972-
out = ctx.actions.declare_file(ctx.label.name + ".out")
978+
out = ctx.actions.declare_file(ctx.label.name + ".txt")
973979
ctx.actions.write(out, "\n".join(output) + "\n")
974980
return [
975981
DefaultInfo(files = depset([out])),
976982
DistrubutionsInfo(out = out),
977983
]
978984

979-
write_distributions = rule(
980-
implementation = _write_distributions_impl,
985+
distributions_test_writer = rule(
986+
implementation = _distributions_test_writer_impl,
987+
output_to_genfiles = True,
988+
provides = [DefaultInfo, DistrubutionsInfo],
989+
)
990+
991+
def _requirements_test_writer_impl(ctx):
992+
"""Analyze the configured versions and write to a file for test consumption.
993+
994+
The test generated file '<rule_name>.out' contains the following lines:
995+
[<arch>,<os>,<requirement>]: <llvm_distribution_basename>
996+
"""
997+
requirement_list = [
998+
"latest:<=20.1.0",
999+
"latest:<=20.1.0,>17.0.4,!=19.1.7",
1000+
"latest:<20.1.0,>17.0.4,!=19.1.7",
1001+
"latest:<20.1.0,>17.0.4",
1002+
]
1003+
arch_list = ["aarch64", "powerpc64", "powerpc64le", "sparcv9", "x86_64"]
1004+
os_list = [
1005+
"darwin",
1006+
"linux",
1007+
"raspbian",
1008+
"pc-solaris2.11", # TODO: No clue how this one works
1009+
"windows",
1010+
]
1011+
result = []
1012+
for arch in arch_list:
1013+
for os in os_list:
1014+
for requirement in requirement_list:
1015+
llvm_version, basename = _latest_llvm_release_name(arch, os, requirement)
1016+
if llvm_version and basename:
1017+
result.append("[{arch},{os},\"{requirement}\"]: {llvm_version} = {basename}".format(
1018+
arch = arch,
1019+
os = os,
1020+
requirement = requirement,
1021+
llvm_version = llvm_version,
1022+
basename = basename,
1023+
))
1024+
else:
1025+
result.append("[{arch},{os},\"{requirement}\"]: N/A".format(
1026+
arch = arch,
1027+
os = os,
1028+
requirement = requirement,
1029+
llvm_version = llvm_version,
1030+
basename = basename,
1031+
))
1032+
1033+
out = ctx.actions.declare_file(ctx.label.name + ".txt")
1034+
ctx.actions.write(out, "\n".join(result) + "\n")
1035+
return [
1036+
DefaultInfo(files = depset([out])),
1037+
DistrubutionsInfo(out = out),
1038+
]
1039+
1040+
requirements_test_writer = rule(
1041+
implementation = _requirements_test_writer_impl,
9811042
output_to_genfiles = True,
9821043
provides = [DefaultInfo, DistrubutionsInfo],
9831044
)
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
[aarch64,darwin,"latest:<=20.1.0"]: 20.1.0 = LLVM-20.1.0-macOS-ARM64.tar.xz
2+
[aarch64,darwin,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = LLVM-20.1.0-macOS-ARM64.tar.xz
3+
[aarch64,darwin,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = LLVM-19.1.6-macOS-ARM64.tar.xz
4+
[aarch64,darwin,"latest:<20.1.0,>17.0.4"]: 19.1.7 = LLVM-19.1.7-macOS-ARM64.tar.xz
5+
[aarch64,linux,"latest:<=20.1.0"]: 20.1.0 = LLVM-20.1.0-Linux-ARM64.tar.xz
6+
[aarch64,linux,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = LLVM-20.1.0-Linux-ARM64.tar.xz
7+
[aarch64,linux,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = clang+llvm-19.1.6-aarch64-linux-gnu.tar.xz
8+
[aarch64,linux,"latest:<20.1.0,>17.0.4"]: 19.1.7 = clang+llvm-19.1.7-aarch64-linux-gnu.tar.xz
9+
[aarch64,raspbian,"latest:<=20.1.0"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
10+
[aarch64,raspbian,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
11+
[aarch64,raspbian,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = clang+llvm-19.1.6-armv7a-linux-gnueabihf.tar.gz
12+
[aarch64,raspbian,"latest:<20.1.0,>17.0.4"]: 19.1.7 = clang+llvm-19.1.7-armv7a-linux-gnueabihf.tar.gz
13+
[aarch64,pc-solaris2.11,"latest:<=20.1.0"]: N/A
14+
[aarch64,pc-solaris2.11,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: N/A
15+
[aarch64,pc-solaris2.11,"latest:<20.1.0,>17.0.4,!=19.1.7"]: N/A
16+
[aarch64,pc-solaris2.11,"latest:<20.1.0,>17.0.4"]: N/A
17+
[aarch64,windows,"latest:<=20.1.0"]: 20.1.0 = clang+llvm-20.1.0-aarch64-pc-windows-msvc.tar.xz
18+
[aarch64,windows,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = clang+llvm-20.1.0-aarch64-pc-windows-msvc.tar.xz
19+
[aarch64,windows,"latest:<20.1.0,>17.0.4,!=19.1.7"]: N/A
20+
[aarch64,windows,"latest:<20.1.0,>17.0.4"]: N/A
21+
[powerpc64,darwin,"latest:<=20.1.0"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
22+
[powerpc64,darwin,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
23+
[powerpc64,darwin,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
24+
[powerpc64,darwin,"latest:<20.1.0,>17.0.4"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
25+
[powerpc64,linux,"latest:<=20.1.0"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
26+
[powerpc64,linux,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
27+
[powerpc64,linux,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
28+
[powerpc64,linux,"latest:<20.1.0,>17.0.4"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
29+
[powerpc64,raspbian,"latest:<=20.1.0"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
30+
[powerpc64,raspbian,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
31+
[powerpc64,raspbian,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = clang+llvm-19.1.6-armv7a-linux-gnueabihf.tar.gz
32+
[powerpc64,raspbian,"latest:<20.1.0,>17.0.4"]: 19.1.7 = clang+llvm-19.1.7-armv7a-linux-gnueabihf.tar.gz
33+
[powerpc64,pc-solaris2.11,"latest:<=20.1.0"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
34+
[powerpc64,pc-solaris2.11,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
35+
[powerpc64,pc-solaris2.11,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
36+
[powerpc64,pc-solaris2.11,"latest:<20.1.0,>17.0.4"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
37+
[powerpc64,windows,"latest:<=20.1.0"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
38+
[powerpc64,windows,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
39+
[powerpc64,windows,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
40+
[powerpc64,windows,"latest:<20.1.0,>17.0.4"]: 18.1.8 = clang+llvm-18.1.8-powerpc64-ibm-aix-7.2.tar.xz
41+
[powerpc64le,darwin,"latest:<=20.1.0"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
42+
[powerpc64le,darwin,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
43+
[powerpc64le,darwin,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
44+
[powerpc64le,darwin,"latest:<20.1.0,>17.0.4"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
45+
[powerpc64le,linux,"latest:<=20.1.0"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
46+
[powerpc64le,linux,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
47+
[powerpc64le,linux,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
48+
[powerpc64le,linux,"latest:<20.1.0,>17.0.4"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
49+
[powerpc64le,raspbian,"latest:<=20.1.0"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
50+
[powerpc64le,raspbian,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
51+
[powerpc64le,raspbian,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = clang+llvm-19.1.6-armv7a-linux-gnueabihf.tar.gz
52+
[powerpc64le,raspbian,"latest:<20.1.0,>17.0.4"]: 19.1.7 = clang+llvm-19.1.7-armv7a-linux-gnueabihf.tar.gz
53+
[powerpc64le,pc-solaris2.11,"latest:<=20.1.0"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
54+
[powerpc64le,pc-solaris2.11,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
55+
[powerpc64le,pc-solaris2.11,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
56+
[powerpc64le,pc-solaris2.11,"latest:<20.1.0,>17.0.4"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
57+
[powerpc64le,windows,"latest:<=20.1.0"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
58+
[powerpc64le,windows,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
59+
[powerpc64le,windows,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
60+
[powerpc64le,windows,"latest:<20.1.0,>17.0.4"]: 18.1.8 = clang+llvm-18.1.8-powerpc64le-linux-rhel-8.8.tar.xz
61+
[sparcv9,darwin,"latest:<=20.1.0"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
62+
[sparcv9,darwin,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
63+
[sparcv9,darwin,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
64+
[sparcv9,darwin,"latest:<20.1.0,>17.0.4"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
65+
[sparcv9,linux,"latest:<=20.1.0"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
66+
[sparcv9,linux,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
67+
[sparcv9,linux,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
68+
[sparcv9,linux,"latest:<20.1.0,>17.0.4"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
69+
[sparcv9,raspbian,"latest:<=20.1.0"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
70+
[sparcv9,raspbian,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
71+
[sparcv9,raspbian,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = clang+llvm-19.1.6-armv7a-linux-gnueabihf.tar.gz
72+
[sparcv9,raspbian,"latest:<20.1.0,>17.0.4"]: 19.1.7 = clang+llvm-19.1.7-armv7a-linux-gnueabihf.tar.gz
73+
[sparcv9,pc-solaris2.11,"latest:<=20.1.0"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
74+
[sparcv9,pc-solaris2.11,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
75+
[sparcv9,pc-solaris2.11,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
76+
[sparcv9,pc-solaris2.11,"latest:<20.1.0,>17.0.4"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
77+
[sparcv9,windows,"latest:<=20.1.0"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
78+
[sparcv9,windows,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
79+
[sparcv9,windows,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
80+
[sparcv9,windows,"latest:<20.1.0,>17.0.4"]: 18.1.6 = clang+llvm-18.1.6-sparcv9-sun-solaris2.11.tar.xz
81+
[x86_64,darwin,"latest:<=20.1.0"]: 19.1.7 = LLVM-19.1.7-macOS-X64.tar.xz
82+
[x86_64,darwin,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = LLVM-19.1.6-macOS-X64.tar.xz
83+
[x86_64,darwin,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = LLVM-19.1.6-macOS-X64.tar.xz
84+
[x86_64,darwin,"latest:<20.1.0,>17.0.4"]: 19.1.7 = LLVM-19.1.7-macOS-X64.tar.xz
85+
[x86_64,linux,"latest:<=20.1.0"]: 20.1.0 = LLVM-20.1.0-Linux-X64.tar.xz
86+
[x86_64,linux,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = LLVM-20.1.0-Linux-X64.tar.xz
87+
[x86_64,linux,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = LLVM-19.1.6-Linux-X64.tar.xz
88+
[x86_64,linux,"latest:<20.1.0,>17.0.4"]: 19.1.7 = LLVM-19.1.7-Linux-X64.tar.xz
89+
[x86_64,raspbian,"latest:<=20.1.0"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
90+
[x86_64,raspbian,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
91+
[x86_64,raspbian,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = clang+llvm-19.1.6-armv7a-linux-gnueabihf.tar.gz
92+
[x86_64,raspbian,"latest:<20.1.0,>17.0.4"]: 19.1.7 = clang+llvm-19.1.7-armv7a-linux-gnueabihf.tar.gz
93+
[x86_64,pc-solaris2.11,"latest:<=20.1.0"]: 18.1.6 = clang+llvm-18.1.6-amd64-pc-solaris2.11.tar.xz
94+
[x86_64,pc-solaris2.11,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-amd64-pc-solaris2.11.tar.xz
95+
[x86_64,pc-solaris2.11,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 18.1.6 = clang+llvm-18.1.6-amd64-pc-solaris2.11.tar.xz
96+
[x86_64,pc-solaris2.11,"latest:<20.1.0,>17.0.4"]: 18.1.6 = clang+llvm-18.1.6-amd64-pc-solaris2.11.tar.xz
97+
[x86_64,windows,"latest:<=20.1.0"]: 20.1.0 = clang+llvm-20.1.0-x86_64-pc-windows-msvc.tar.xz
98+
[x86_64,windows,"latest:<=20.1.0,>17.0.4,!=19.1.7"]: 20.1.0 = clang+llvm-20.1.0-x86_64-pc-windows-msvc.tar.xz
99+
[x86_64,windows,"latest:<20.1.0,>17.0.4,!=19.1.7"]: 19.1.6 = clang+llvm-19.1.6-x86_64-pc-windows-msvc.tar.xz
100+
[x86_64,windows,"latest:<20.1.0,>17.0.4"]: 19.1.7 = clang+llvm-19.1.7-x86_64-pc-windows-msvc.tar.xz

0 commit comments

Comments
 (0)