From 6ce092d1ff6b24281e3e5ee396828080ca19275d Mon Sep 17 00:00:00 2001 From: ZhouGuangyuan Date: Tue, 1 Sep 2026 09:14:10 +0800 Subject: [PATCH 1/2] llvm: make LLVM 22 the default --- .github/workflows/go.yml | 16 ++++++++-------- README.markdown | 4 ++-- llvm_config_llvm21.go | 4 ++-- llvm_config_llvm22.go | 2 +- switch_llvm22.go | 2 +- switch_pre22.go | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 86727d1..bf92300 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -27,7 +27,7 @@ jobs: run: go test -v -tags=llvm${{ matrix.llvm }} - name: Test default LLVM - if: matrix.llvm == 21 + if: matrix.llvm == 22 run: go test -v test-linux: @@ -52,7 +52,7 @@ jobs: run: go test -v -tags=llvm${{ matrix.llvm }} - name: Test default LLVM - if: matrix.llvm == 21 + if: matrix.llvm == 22 run: go test -v test-windows: @@ -169,7 +169,7 @@ jobs: gcc --version go test -v -tags=llvm${{ matrix.llvm }} - name: Test default LLVM - if: matrix.llvm == 21 + if: matrix.llvm == 22 shell: msys2 {0} run: | set -euo pipefail @@ -187,21 +187,21 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - llvm: [19, 20, 21] - container: fedora:43 + llvm: [19, 20, 21, 22] + container: fedora:44 steps: - name: Checkout uses: actions/checkout@v4 - name: Install dependencies (default LLVM) - if: matrix.llvm == 21 + if: matrix.llvm == 22 run: dnf install --assumeyes g++ golang llvm-devel - name: Install dependencies (older LLVM) - if: matrix.llvm != 21 + if: matrix.llvm != 22 run: dnf install --assumeyes g++ golang llvm${{ matrix.llvm }}-devel - name: Test LLVM ${{ matrix.llvm }} run: go test -v -tags=llvm${{ matrix.llvm }} - name: Test default LLVM - if: matrix.llvm == 21 + if: matrix.llvm == 22 run: go test -v diff --git a/README.markdown b/README.markdown index 3abfe6e..124c5e8 100644 --- a/README.markdown +++ b/README.markdown @@ -16,7 +16,7 @@ Currently supported: * LLVM 22, 21, 20, 19, 18, 17, 16, 15 and 14 in an MSYS2 MINGW64 environment on Windows (see the setup below). * Any of the above versions with a manually built LLVM through the `byollvm` build tag. You need to set up `CFLAGS`/`LDFLAGS` etc yourself in this case. -LLVM 21 is selected by default. You can select another LLVM version using a +LLVM 22 is selected by default. You can select another LLVM version using a build tag, for example `-tags=llvm19` to use LLVM 19. ## Usage @@ -30,7 +30,7 @@ You can use build tags to select a LLVM version. For example, use `-tags=llvm15` ### Windows (MSYS2 MINGW64) The Windows bindings expect `pkg-config` metadata named after the selected LLVM -major version, such as `llvm-21`. After installing a MinGW-compatible LLVM, +major version, such as `llvm-22`. After installing a MinGW-compatible LLVM, `mingw-w64-x86_64-gcc`, and `mingw-w64-x86_64-pkgconf` in a MINGW64 environment, generate that file from `llvm-config`: diff --git a/llvm_config_llvm21.go b/llvm_config_llvm21.go index 602f460..c744f64 100644 --- a/llvm_config_llvm21.go +++ b/llvm_config_llvm21.go @@ -1,5 +1,5 @@ -//go:build !byollvm && !llvm14 && !llvm15 && !llvm16 && !llvm17 && !llvm18 && !llvm19 && !llvm20 && !llvm22 -// +build !byollvm,!llvm14,!llvm15,!llvm16,!llvm17,!llvm18,!llvm19,!llvm20,!llvm22 +//go:build !byollvm && llvm21 +// +build !byollvm,llvm21 package llvm diff --git a/llvm_config_llvm22.go b/llvm_config_llvm22.go index 3ae122f..ee65c68 100644 --- a/llvm_config_llvm22.go +++ b/llvm_config_llvm22.go @@ -1,4 +1,4 @@ -//go:build !byollvm && llvm22 +//go:build !byollvm && (llvm22 || (!llvm14 && !llvm15 && !llvm16 && !llvm17 && !llvm18 && !llvm19 && !llvm20 && !llvm21)) package llvm diff --git a/switch_llvm22.go b/switch_llvm22.go index 0c70b08..1cce349 100644 --- a/switch_llvm22.go +++ b/switch_llvm22.go @@ -1,4 +1,4 @@ -//go:build llvm22 +//go:build llvm22 || (!llvm14 && !llvm15 && !llvm16 && !llvm17 && !llvm18 && !llvm19 && !llvm20 && !llvm21) package llvm diff --git a/switch_pre22.go b/switch_pre22.go index cfa381c..94c017a 100644 --- a/switch_pre22.go +++ b/switch_pre22.go @@ -1,4 +1,4 @@ -//go:build !llvm22 +//go:build llvm14 || llvm15 || llvm16 || llvm17 || llvm18 || llvm19 || llvm20 || llvm21 package llvm From e8df25dd989087802598a6ae091cef4146ef3389 Mon Sep 17 00:00:00 2001 From: ZhouGuangyuan Date: Tue, 1 Sep 2026 09:26:27 +0800 Subject: [PATCH 2/2] ci: test Fedora against its default LLVM 22 --- .github/workflows/go.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index bf92300..fb342b1 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -187,17 +187,13 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - llvm: [19, 20, 21, 22] + llvm: [22] container: fedora:44 steps: - name: Checkout uses: actions/checkout@v4 - name: Install dependencies (default LLVM) - if: matrix.llvm == 22 run: dnf install --assumeyes g++ golang llvm-devel - - name: Install dependencies (older LLVM) - if: matrix.llvm != 22 - run: dnf install --assumeyes g++ golang llvm${{ matrix.llvm }}-devel - name: Test LLVM ${{ matrix.llvm }} run: go test -v -tags=llvm${{ matrix.llvm }}