Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
20 changes: 12 additions & 8 deletions .github/actions/Build_LLVM/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,13 @@ runs:
cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
if [[ "${cling_on}" == "ON" ]]; then
git clone https://github.com/root-project/cling.git
cd ./cling
git checkout tags/v${{ matrix.cling-version }}
git apply -v ../patches/llvm/cling1.2-LookupHelper.patch
cd ./cling/
git checkout 72f12fd1712a5dbea379b9df833af2cc11913706
cd ..
git clone -b cling-llvm${{ matrix.clang-runtime }} https://github.com/root-project/llvm-project.git
cd ./llvm-project/
git checkout 6fb92ab985353ed71faec49beaaf5d111e041f8c
cd ..
git clone --depth=1 -b cling-llvm${{ matrix.clang-runtime }} https://github.com/root-project/llvm-project.git
else # repl
git clone --depth=1 -b release/${{ matrix.clang-runtime }}.x https://github.com/llvm/llvm-project.git
fi
Expand Down Expand Up @@ -101,11 +103,13 @@ runs:
if ( "${{ matrix.cling }}" -imatch "On" )
{
git clone https://github.com/root-project/cling.git
cd ./cling
git checkout tags/v${{ matrix.cling-version }}
git apply -v ../patches/llvm/cling1.2-LookupHelper.patch
cd ./cling/
git checkout 72f12fd1712a5dbea379b9df833af2cc11913706
cd ..
git clone -b cling-llvm${{ matrix.clang-runtime }} https://github.com/root-project/llvm-project.git
cd ./llvm-project/
git checkout 6fb92ab985353ed71faec49beaaf5d111e041f8c
cd ..
git clone --depth=1 -b cling-llvm${{ matrix.clang-runtime }} https://github.com/root-project/llvm-project.git
$env:PWD_DIR= $PWD.Path
$env:CLING_DIR="$env:PWD_DIR\cling"
echo "CLING_DIR=$env:CLING_DIR"
Expand Down
11 changes: 8 additions & 3 deletions .github/actions/Miscellaneous/Save_PR_Info/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ runs:

cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
if [[ "$cling_on" == "ON" ]]; then
export CLING_HASH=$(git ls-remote https://github.com/root-project/cling.git refs/tags/v${{ matrix.cling-version }} | tr '\t' '-')
export LLVM_HASH=$(git ls-remote https://github.com/root-project/llvm-project.git cling-llvm${{ matrix.clang-runtime}} | tr '\t' '-')
# FIXME: Revert back to non static hash after cling 1.3 released
#export CLING_HASH=$(git ls-remote https://github.com/root-project/cling.git refs/tags/v${{ matrix.cling-version }} | tr '\t' '-')
#export LLVM_HASH=$(git ls-remote https://github.com/root-project/llvm-project.git cling-llvm${{ matrix.clang-runtime}} | tr '\t' '-')
export CLING_HASH="72f12fd1712a5dbea379b9df833af2cc11913706"
export LLVM_HASH="6fb92ab985353ed71faec49beaaf5d111e041f8c"
else
export CLING_HASH="Repl"
# May need to revert back to both having same llvm_hash, as below cause llvm to be rebuilt everytime commit is made to llvm/llvm-project for release a.x
Expand Down Expand Up @@ -52,6 +55,8 @@ runs:

echo "CLING_HASH=$env:CLING_HASH"
echo "LLVM_HASH=$env:LLVM_HASH"

# FIXME: Revert back to non static hash after cling 1.3 released
$env:CLING_HASH="72f12fd1712a5dbea379b9df833af2cc11913706"
$env:LLVM_HASH="6fb92ab985353ed71faec49beaaf5d111e041f8c"
echo "CLING_HASH=$env:CLING_HASH" >> $GITHUB_ENV
echo "LLVM_HASH=$env:LLVM_HASH" >> $GITHUB_ENV
57 changes: 13 additions & 44 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,18 +48,10 @@ jobs:
cppyy: On
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-arm-gcc12-clang-repl-18
os: ubuntu-24.04-arm
compiler: gcc-12
clang-runtime: '18'
cling: Off
cppyy: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-arm-gcc9-clang18-cling-cppyy
- name: ubu24-arm-gcc9-clang20-cling-cppyy
os: ubuntu-24.04-arm
compiler: gcc-9
clang-runtime: '18'
clang-runtime: '20'
cling: On
cppyy: On
cling-version: '1.2'
Expand Down Expand Up @@ -112,18 +104,10 @@ jobs:
cppyy: On
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-x86-gcc12-clang-repl-18
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '18'
cling: Off
cppyy: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-x86-gcc9-clang18-cling-cppyy
- name: ubu24-x86-gcc9-clang20-cling-cppyy
os: ubuntu-24.04
compiler: gcc-9
clang-runtime: '18'
clang-runtime: '20'
cling: On
cppyy: On
cling-version: '1.2'
Expand Down Expand Up @@ -163,18 +147,10 @@ jobs:
cppyy: On
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx26-arm-clang-clang-repl-18
- name: osx26-arm-clang-clang20-cling-cppyy
os: macos-26
compiler: clang
clang-runtime: '18'
cling: Off
cppyy: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx26-arm-clang-clang18-cling-cppyy
os: macos-26
compiler: clang
clang-runtime: '18'
clang-runtime: '20'
cling: On
cppyy: On
cling-version: '1.2'
Expand Down Expand Up @@ -205,18 +181,10 @@ jobs:
cppyy: On
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx15-x86-clang-clang-repl-18
- name: osx15-x86-clang-clang20-cling-cppyy
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
clang-runtime: '18'
clang-runtime: '20'
cling: On
cppyy: On
cling-version: '1.2'
Expand All @@ -230,10 +198,10 @@ jobs:
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: win11-msvc-clang18-cling
- name: win11-msvc-clang20-cling
os: windows-11-arm
compiler: msvc
clang-runtime: '18'
clang-runtime: '20'
cling: On
cling-version: '1.2'
llvm_enable_projects: "clang"
Expand All @@ -246,10 +214,10 @@ jobs:
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: win2025-msvc-clang18-cling
- name: win2025-msvc-clang20-cling
os: windows-2025
compiler: msvc
clang-runtime: '18'
clang-runtime: '20'
cling: On
cling-version: '1.2'
llvm_enable_projects: "clang"
Expand Down Expand Up @@ -350,3 +318,4 @@ jobs:




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
20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,12 +259,13 @@ hosted under the `root-project` (see the git path below).
Use the following build instructions to build

```bash
git clone https://github.com/root-project/cling.git
cd ./cling/
git checkout tags/v1.2
git apply -v ../CppInterOp/patches/llvm/cling1.2-LookupHelper.patch
git checkout 72f12fd1712a5dbea379b9df833af2cc11913706
cd ..
git clone -b cling-llvm20 https://github.com/root-project/llvm-project.git
cd ./llvm-project/
git checkout 6fb92ab985353ed71faec49beaaf5d111e041f8c
cd ..
git clone --depth=1 -b cling-llvm18 https://github.com/root-project/llvm-project.git
mkdir llvm-project/build
cd llvm-project/build
cmake -DLLVM_ENABLE_PROJECTS=clang \
Expand Down Expand Up @@ -548,12 +549,13 @@ hosted under the `root-project` (see the git path below).
Use the following build instructions to build

```powershell
git clone https://github.com/root-project/cling.git
cd .\cling\
git checkout tags/v1.2
git apply -v ..\CppInterOp\patches\llvm\cling1.2-LookupHelper.patch
cd ./cling/
git checkout 72f12fd1712a5dbea379b9df833af2cc11913706
cd ..
git clone -b cling-llvm20 https://github.com/root-project/llvm-project.git
cd ./llvm-project/
git checkout 6fb92ab985353ed71faec49beaaf5d111e041f8c
cd ..
git clone --depth=1 -b cling-llvm18 https://github.com/root-project/llvm-project.git
$env:ncpus = $([Environment]::ProcessorCount)
$env:PWD_DIR= $PWD.Path
$env:CLING_DIR="$env:PWD_DIR\cling"
Expand Down
20 changes: 11 additions & 9 deletions docs/DevelopersDocumentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,13 @@ build instructions to build on Linux and MacOS

.. code:: bash

git clone https://github.com/root-project/cling.git
cd ./cling/
git checkout tags/v1.2
git apply -v ../CppInterOp/patches/llvm/cling1.2-LookupHelper.patch
git checkout 72f12fd1712a5dbea379b9df833af2cc11913706
cd ..
git clone -b cling-llvm20 https://github.com/root-project/llvm-project.git
cd ./llvm-project/
git checkout 6fb92ab985353ed71faec49beaaf5d111e041f8c
cd ..
git clone --depth=1 -b cling-llvm18 https://github.com/root-project/llvm-project.git
mkdir llvm-project/build
cd llvm-project/build
cmake -DLLVM_ENABLE_PROJECTS=clang \
Expand All @@ -173,12 +174,13 @@ Use the following build instructions to build on Windows

.. code:: powershell

git clone https://github.com/root-project/cling.git
cd .\cling\
git checkout tags/v1.2
git apply -v ..\CppInterOp\patches\llvm\cling1.2-LookupHelper.patch
cd ./cling/
git checkout 72f12fd1712a5dbea379b9df833af2cc11913706
cd ..
git clone -b cling-llvm20 https://github.com/root-project/llvm-project.git
cd ./llvm-project/
git checkout 6fb92ab985353ed71faec49beaaf5d111e041f8c
cd ..
git clone --depth=1 -b cling-llvm18 https://github.com/root-project/llvm-project.git
$env:ncpus = $([Environment]::ProcessorCount)
$env:PWD_DIR= $PWD.Path
$env:CLING_DIR="$env:PWD_DIR\cling"
Expand Down
20 changes: 11 additions & 9 deletions docs/InstallationAndUsage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,13 @@ build instructions to build on Linux and MacOS

.. code:: bash

git clone https://github.com/root-project/cling.git
cd ./cling/
git checkout tags/v1.2
git apply -v ../CppInterOp/patches/llvm/cling1.2-LookupHelper.patch
git checkout 72f12fd1712a5dbea379b9df833af2cc11913706
cd ..
git clone -b cling-llvm20 https://github.com/root-project/llvm-project.git
cd ./llvm-project/
git checkout 6fb92ab985353ed71faec49beaaf5d111e041f8c
cd ..
git clone --depth=1 -b cling-llvm18 https://github.com/root-project/llvm-project.git
mkdir llvm-project/build
cd llvm-project/build
cmake -DLLVM_ENABLE_PROJECTS=clang \
Expand All @@ -173,12 +174,13 @@ Use the following build instructions to build on Windows

.. code:: powershell

git clone https://github.com/root-project/cling.git
cd .\cling\
git checkout tags/v1.2
git apply -v ..\CppInterOp\patches\llvm\cling1.2-LookupHelper.patch
cd ./cling/
git checkout 72f12fd1712a5dbea379b9df833af2cc11913706
cd ..
git clone -b cling-llvm20 https://github.com/root-project/llvm-project.git
cd ./llvm-project/
git checkout 6fb92ab985353ed71faec49beaaf5d111e041f8c
cd ..
git clone --depth=1 -b cling-llvm18 https://github.com/root-project/llvm-project.git
$env:ncpus = $([Environment]::ProcessorCount)
$env:PWD_DIR= $PWD.Path
$env:CLING_DIR="$env:PWD_DIR\cling"
Expand Down
32 changes: 0 additions & 32 deletions lib/CppInterOp/Compatibility.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,38 +48,6 @@ static inline char* GetEnv(const char* Var_Name) {
clang::LookupResultKind::FoundOverloaded
#endif

#if CLANG_VERSION_MAJOR < 19
#define Template_Deduction_Result Sema::TemplateDeductionResult
#define Template_Deduction_Result_Success \
Sema::TemplateDeductionResult::TDK_Success
#else
#define Template_Deduction_Result TemplateDeductionResult
#define Template_Deduction_Result_Success TemplateDeductionResult::Success
#endif

#if CLANG_VERSION_MAJOR < 19
#define For_Visible_Redeclaration Sema::ForVisibleRedeclaration
#define Clang_For_Visible_Redeclaration clang::Sema::ForVisibleRedeclaration
#else
#define For_Visible_Redeclaration RedeclarationKind::ForVisibleRedeclaration
#define Clang_For_Visible_Redeclaration \
RedeclarationKind::ForVisibleRedeclaration
#endif

#if CLANG_VERSION_MAJOR < 19
#define CXXSpecialMemberKindDefaultConstructor \
clang::Sema::CXXDefaultConstructor
#define CXXSpecialMemberKindCopyConstructor clang::Sema::CXXCopyConstructor
#define CXXSpecialMemberKindMoveConstructor clang::Sema::CXXMoveConstructor
#else
#define CXXSpecialMemberKindDefaultConstructor \
CXXSpecialMemberKind::DefaultConstructor
#define CXXSpecialMemberKindCopyConstructor \
CXXSpecialMemberKind::CopyConstructor
#define CXXSpecialMemberKindMoveConstructor \
CXXSpecialMemberKind::MoveConstructor
#endif

#define STRINGIFY(s) STRINGIFY_X(s)
#define STRINGIFY_X(...) #__VA_ARGS__

Expand Down
Loading
Loading