From 8fcd5e43adeab388469c6b092d42e19d37bbced6 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Sat, 18 May 2024 12:31:00 +0200 Subject: [PATCH] Add support for LLVM 18 (and use it by default) --- .github/workflows/test.yml | 14 +++++++------- llvm_config_darwin_llvm17.go | 2 +- llvm_config_darwin_llvm18.go | 15 +++++++++++++++ llvm_config_linux_llvm17.go | 2 +- llvm_config_linux_llvm18.go | 10 ++++++++++ 5 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 llvm_config_darwin_llvm18.go create mode 100644 llvm_config_linux_llvm18.go diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fb6c6ea..acc0d92 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: runs-on: macos-latest strategy: matrix: - llvm: [14, 15, 16, 17] + llvm: [14, 15, 16, 17, 18] steps: - name: Checkout uses: actions/checkout@v4 @@ -18,23 +18,23 @@ jobs: uses: actions/setup-go@v5 with: go-version: '1.22' - - name: Update Homebrew - if: matrix.llvm == 17 # needed as long as LLVM 17 is still fresh - run: brew update + #- name: Update Homebrew + # if: matrix.llvm == 17 # needed as long as LLVM 17 is still fresh + # run: brew update - name: Install LLVM run: HOMEBREW_NO_AUTO_UPDATE=1 brew install llvm@${{ matrix.llvm }} - name: Test LLVM ${{ matrix.llvm }} run: go test -v -tags=llvm${{ matrix.llvm }} - name: Test default LLVM - if: matrix.llvm == 17 + if: matrix.llvm == 18 run: go test -v test-linux: runs-on: ubuntu-20.04 strategy: matrix: - llvm: [14, 15, 16, 17] + llvm: [14, 15, 16, 17, 18] steps: - name: Checkout uses: actions/checkout@v4 @@ -52,6 +52,6 @@ jobs: run: go test -v -tags=llvm${{ matrix.llvm }} - name: Test default LLVM - if: matrix.llvm == 17 + if: matrix.llvm == 18 run: go test -v diff --git a/llvm_config_darwin_llvm17.go b/llvm_config_darwin_llvm17.go index e1e6554..3dc8f26 100644 --- a/llvm_config_darwin_llvm17.go +++ b/llvm_config_darwin_llvm17.go @@ -1,4 +1,4 @@ -//go:build !byollvm && darwin && !llvm14 && !llvm15 && !llvm16 +//go:build !byollvm && darwin && llvm17 package llvm diff --git a/llvm_config_darwin_llvm18.go b/llvm_config_darwin_llvm18.go new file mode 100644 index 0000000..2b16f03 --- /dev/null +++ b/llvm_config_darwin_llvm18.go @@ -0,0 +1,15 @@ +//go:build !byollvm && darwin && !llvm14 && !llvm15 && !llvm16 && !llvm17 + +package llvm + +// Automatically generated by `make config BUILDDIR=`, do not edit. + +// #cgo amd64 CPPFLAGS: -I/usr/local/opt/llvm@18/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS +// #cgo amd64 CXXFLAGS: -std=c++18 +// #cgo amd64 LDFLAGS: -L/usr/local/opt/llvm@18/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names -lLLVM -lz -lm +// #cgo arm64 CPPFLAGS: -I/opt/homebrew/opt/llvm@18/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS +// #cgo arm64 CXXFLAGS: -std=c++18 +// #cgo arm64 LDFLAGS: -L/opt/homebrew/opt/llvm@18/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names -lLLVM -lz -lm +import "C" + +type run_build_sh int diff --git a/llvm_config_linux_llvm17.go b/llvm_config_linux_llvm17.go index 04405bf..f2951d7 100644 --- a/llvm_config_linux_llvm17.go +++ b/llvm_config_linux_llvm17.go @@ -1,4 +1,4 @@ -//go:build !byollvm && linux && !llvm14 && !llvm15 && !llvm16 +//go:build !byollvm && linux && llvm17 package llvm diff --git a/llvm_config_linux_llvm18.go b/llvm_config_linux_llvm18.go new file mode 100644 index 0000000..8010f03 --- /dev/null +++ b/llvm_config_linux_llvm18.go @@ -0,0 +1,10 @@ +//go:build !byollvm && linux && !llvm14 && !llvm15 && !llvm16 && !llvm17 + +package llvm + +// #cgo CPPFLAGS: -I/usr/include/llvm-18 -I/usr/include/llvm-c-18 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS +// #cgo CXXFLAGS: -std=c++17 +// #cgo LDFLAGS: -L/usr/lib/llvm-18/lib -lLLVM-18 +import "C" + +type run_build_sh int