Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
714b56b
Add llvm 22 jobs to ci
mcbarton Jan 13, 2026
7faef62
Update maximum llvm/clang in cmake
mcbarton Jan 13, 2026
642964e
Fix clang runtime Ubuntu x86 llvm 22
mcbarton Jan 13, 2026
b383b5d
Try to fix some of the build issues
mcbarton Jan 13, 2026
3be3199
Remove unused suppression macros from Compatibility.h
mcbarton Jan 13, 2026
a47313b
Try Vassil getExecutionEngine patch for llvm 22
mcbarton Jan 14, 2026
213b539
Fix patch
mcbarton Jan 15, 2026
9c8beba
Fix CheckVarTemplateId llvm 22 build issue
mcbarton Jan 15, 2026
91d9893
Fix CheckTemplateIdType build issue
mcbarton Jan 15, 2026
2b5172d
Try to fix the previous commit
mcbarton Jan 15, 2026
a3d6151
Ignore getTypeDeclType test temporarily while look for a fix
mcbarton Jan 15, 2026
9e4a484
Update ScopeReflectionTest.cpp
mcbarton Jan 15, 2026
5bfd0cc
Drop llvm 18 support + Update oop jobs to llvm 22
mcbarton Jan 15, 2026
1fad366
Try fix for error: ‘JITConfig’ is not a member of ‘clang::Interpreter’
mcbarton Jan 15, 2026
ea2db56
Revert "Try fix for error: ‘JITConfig’ is not a member of ‘clang::In…
mcbarton Jan 16, 2026
6cc0187
Debug
mcbarton Jan 22, 2026
c64031f
Remove saving of cache for now
mcbarton Jan 24, 2026
d7bf936
Merge branch 'main' into Add-support-for-llvm-22
mcbarton Jan 24, 2026
bc7553f
Update action.yml
mcbarton Jan 25, 2026
9f6f1f3
Update Compatibility.h
mcbarton Jan 25, 2026
313a6e1
Match janks solution
mcbarton Jan 26, 2026
e44e3b1
Merge branch 'main' into Add-support-for-llvm-22
mcbarton Jan 26, 2026
894b817
Try new solution
mcbarton Jan 27, 2026
6930a51
Revert "Try new solution"
mcbarton Jan 27, 2026
57508f7
Update action.yml
mcbarton Jan 27, 2026
43aa9cc
Merge branch 'main' into Add-support-for-llvm-22
mcbarton Jan 28, 2026
56ca35e
Merge branch 'main' into Add-support-for-llvm-22
mcbarton Feb 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .github/actions/Build_LLVM/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,10 @@ runs:
ninja LLVMOrcDebugging -j ${{ env.ncpus }}
ninja clingInterpreter -j ${{ env.ncpus }}
else
if [[ "${{ matrix.oop-jit }}" == "On" ]]; then
git apply -v ../patches/llvm/clang20-1-out-of-process.patch
echo "Apply clang20-1-out-of-process.patch:"
fi
cd build
cmake -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects}}" \
-DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCLANG_ENABLE_STATIC_ANALYZER=OFF \
-DCLANG_ENABLE_ARCMT=OFF \
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/Build_and_Test_CppInterOp/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ runs:
os="${{ matrix.os }}"
if [[ "${os}" != "macos"* && "${{ matrix.Valgrind }}" == "On" ]]; then
CLANG_VERSION="${{ matrix.clang-runtime }}"
if [[ "$CLANG_VERSION" == "20" && "${{ matrix.cling }}" == "Off" ]]; then
if [[ "${{ matrix.oop }}" == "On" ]]; then
SUPPRESSION_FILE="../etc/clang${CLANG_VERSION}-valgrind.supp"
valgrind --show-error-list=yes --track-origins=yes --error-exitcode=1 \
--show-leak-kinds=definite,possible \
Expand Down
130 changes: 59 additions & 71 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,35 +23,35 @@ jobs:
matrix:
include:
# Ubuntu Arm Jobs
- name: ubu24-arm-gcc12-clang-repl-21
- name: ubu24-arm-gcc12-clang-repl-22
os: ubuntu-24.04-arm
compiler: gcc-12
clang-runtime: '21'
clang-runtime: '22'
cling: Off
cppyy: On
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
Valgrind: On
- name: ubu24-arm-gcc12-clang-repl-20
- name: ubu24-arm-gcc12-clang-repl-21
os: ubuntu-24.04-arm
compiler: gcc-12
clang-runtime: '20'
clang-runtime: '21'
cling: Off
cppyy: On
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-arm-gcc12-clang-repl-19-cppyy
- name: ubu24-arm-gcc12-clang-repl-20
os: ubuntu-24.04-arm
compiler: gcc-12
clang-runtime: '19'
clang-runtime: '20'
cling: Off
cppyy: On
cppyy: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-arm-gcc12-clang-repl-18
- name: ubu24-arm-gcc12-clang-repl-19-cppyy
os: ubuntu-24.04-arm
compiler: gcc-12
clang-runtime: '18'
clang-runtime: '19'
cling: Off
cppyy: Off
llvm_enable_projects: "clang"
Expand All @@ -66,56 +66,56 @@ jobs:
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
# Ubuntu X86 Jobs
- name: ubu24-x86-gcc12-clang-repl-21
- name: ubu24-x86-gcc12-clang-repl-22-out-of-process
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '21'
clang-runtime: '22'
cling: Off
cppyy: On
llvm_enable_projects: "clang"
cppyy: Off
llvm_enable_projects: "clang;compiler-rt"
llvm_targets_to_build: "host;NVPTX"
oop-jit: On
coverage: true
Valgrind: On
- name: ubu24-x86-gcc12-clang-repl-20
- name: ubu24-x86-gcc12-clang-repl-22-out-of-process-coverage
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '20'
clang-runtime: '22'
cling: Off
cppyy: On
llvm_enable_projects: "clang"
cppyy: Off
llvm_enable_projects: "clang;compiler-rt"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-x86-gcc12-clang-repl-20-out-of-process
oop-jit: On
coverage: true
- name: ubu24-x86-gcc12-clang-repl-22
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '20'
clang-runtime: '22'
cling: Off
cppyy: Off
llvm_enable_projects: "clang;compiler-rt"
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
oop-jit: On
coverage: true
Valgrind: On
- name: ubu24-x86-gcc12-clang-repl-20-out-of-process-coverage
- name: ubu24-x86-gcc12-clang-repl-21
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '20'
clang-runtime: '21'
cling: Off
cppyy: Off
llvm_enable_projects: "clang;compiler-rt"
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
oop-jit: On
coverage: true
- name: ubu24-x86-gcc12-clang-repl-19-cppyy
- name: ubu24-x86-gcc12-clang-repl-20
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '19'
clang-runtime: '20'
cling: Off
cppyy: On
cppyy: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-x86-gcc12-clang-repl-18
- name: ubu24-x86-gcc12-clang-repl-19-cppyy
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '18'
clang-runtime: '19'
cling: Off
cppyy: Off
llvm_enable_projects: "clang"
Expand All @@ -130,43 +130,43 @@ jobs:
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
# MacOS Arm Jobs
- name: osx26-arm-clang-clang-repl-21
- name: osx26-arm-clang-clang-repl-22-out-of-process
os: macos-26
compiler: clang
clang-runtime: '21'
clang-runtime: '22'
cling: Off
cppyy: On
llvm_enable_projects: "clang"
cppyy: Off
llvm_enable_projects: "clang;compiler-rt"
llvm_targets_to_build: "host"
- name: osx26-arm-clang-clang-repl-20-out-of-process
oop-jit: On
- name: osx26-arm-clang-clang-repl-22
os: macos-26
compiler: clang
clang-runtime: '20'
clang-runtime: '22'
cling: Off
cppyy: Off
llvm_enable_projects: "clang;compiler-rt"
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
oop-jit: On
- name: osx26-arm-clang-clang-repl-20
- name: osx26-arm-clang-clang-repl-21
os: macos-26
compiler: clang
clang-runtime: '20'
clang-runtime: '21'
cling: Off
cppyy: On
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx26-arm-clang-clang-repl-19-cppyy
- name: osx26-arm-clang-clang-repl-20
os: macos-26
compiler: clang
clang-runtime: '19'
clang-runtime: '20'
cling: Off
cppyy: On
cppyy: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx26-arm-clang-clang-repl-18
- name: osx26-arm-clang-clang-repl-19-cppyy
os: macos-26
compiler: clang
clang-runtime: '18'
clang-runtime: '19'
cling: Off
cppyy: Off
llvm_enable_projects: "clang"
Expand All @@ -181,6 +181,14 @@ jobs:
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
# MacOS X86 Jobs
- name: osx15-x86-clang-clang-repl-22
os: macos-15-intel
compiler: clang
clang-runtime: '22'
cling: Off
cppyy: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx15-x86-clang-clang-repl-21
os: macos-15-intel
compiler: clang
Expand All @@ -205,14 +213,6 @@ jobs:
cppyy: On
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx15-x86-clang-clang-repl-18
os: macos-15-intel
compiler: clang
clang-runtime: '18'
cling: Off
cppyy: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx15-x86-clang-clang18-cling-cppyy
os: macos-15-intel
compiler: clang
Expand All @@ -223,10 +223,10 @@ jobs:
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
# Windows Arm Jobs
- name: win11-msvc-clang-repl-21
- name: win11-msvc-clang-repl-22
os: windows-11-arm
compiler: msvc
clang-runtime: '21'
clang-runtime: '22'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
Expand All @@ -239,10 +239,10 @@ jobs:
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
# Windows X86 Jobs
- name: win2025-msvc-clang-repl-21
- name: win2025-msvc-clang-repl-22
os: windows-2025
compiler: msvc
clang-runtime: '21'
clang-runtime: '22'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
Expand Down Expand Up @@ -291,15 +291,6 @@ jobs:
with:
cache-hit: ${{ steps.cache.outputs.cache-hit }}

- name: Cache LLVM-${{ matrix.clang-runtime }} and ${{ matrix.cling == 'On' && 'Cling' || 'Clang-REPL' }} build
uses: actions/cache/save@v4
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
with:
path: |
llvm-project
${{ matrix.cling=='On' && 'cling' || '' }}
key: ${{ steps.cache.outputs.cache-primary-key }}

- name: Setup code coverage
if: ${{ success() && (matrix.coverage == true) }}
run: |
Expand Down Expand Up @@ -347,6 +338,3 @@ jobs:
uses: mxschmitt/action-tmate@v3
# When debugging increase to a suitable value!
timeout-minutes: 30



18 changes: 9 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,15 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
include(GNUInstallDirs)
## Define supported version of clang and llvm

set(CLANG_MIN_SUPPORTED 18.0)
set(CLANG_MAX_SUPPORTED "21.1.x")
set(CLANG_VERSION_UPPER_BOUND 22.0.0)
set(LLD_MIN_SUPPORTED 18.0)
set(LLD_MAX_SUPPORTED "21.1.x")
set(LLD_VERSION_UPPER_BOUND 22.0.0)
set(LLVM_MIN_SUPPORTED 18.0)
set(LLVM_MAX_SUPPORTED "21.1.x")
set(LLVM_VERSION_UPPER_BOUND 22.0.0)
set(CLANG_MIN_SUPPORTED 19.0)
set(CLANG_MAX_SUPPORTED "22.1.x")
set(CLANG_VERSION_UPPER_BOUND 23.0.0)
set(LLD_MIN_SUPPORTED 19.0)
set(LLD_MAX_SUPPORTED "22.1.x")
set(LLD_VERSION_UPPER_BOUND 23.0.0)
set(LLVM_MIN_SUPPORTED 19.0)
set(LLVM_MAX_SUPPORTED "22.1.x")
set(LLVM_VERSION_UPPER_BOUND 23.0.0)

## Set Cmake packages search order

Expand Down
4 changes: 3 additions & 1 deletion lib/CppInterOp/CXCppInterOp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,10 @@ CXTypeKind cxtype_GetTypeKind(QualType T) {
TKCASE(Vector);
TKCASE(ExtVector);
TKCASE(MemberPointer);
TKCASE(Auto);
TKCASE(Auto);
#if CLANG_VERSION_MAJOR < 22
TKCASE(Elaborated);
#endif
TKCASE(Pipe);
TKCASE(Attributed);
TKCASE(BTFTagAttributed);
Expand Down
Loading
Loading