Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
391be18
Upgrade to support llvm 20
mcbarton Jan 29, 2025
9df8277
Update emscripten.yml
mcbarton Feb 2, 2025
9c64f35
Merge branch 'main' into Update-to-llvm-20
mcbarton Feb 2, 2025
889f996
Part of upgrade to llvm 20
mcbarton Feb 2, 2025
fce2b83
Merge branch 'main' into Update-to-llvm-20
mcbarton Feb 20, 2025
ba99ace
See if CUDA tests still broken llvm 20
mcbarton Feb 20, 2025
8c6e593
Revert "See if CUDA tests still broken llvm 20"
mcbarton Feb 21, 2025
8a4c0af
Merge branch 'main' into Update-to-llvm-20
mcbarton Feb 28, 2025
a38a66e
Merge branch 'main' into Update-to-llvm-20
mcbarton Mar 11, 2025
641da6a
Revert changes to CudaTests to show error message in ci run
mcbarton Mar 12, 2025
a3111e0
Merge branch 'main' into Update-to-llvm-20
mcbarton Apr 3, 2025
13c69a5
Add llvm 20 Emscripten jobs
mcbarton Apr 3, 2025
6e1a9ff
Remove Windows 19 job
mcbarton Apr 3, 2025
bb13b49
Merge branch 'main' into Update-to-llvm-20
mcbarton Apr 13, 2025
8bccb8d
Merge branch 'main' into Update-to-llvm-20
mcbarton Apr 17, 2025
37f4742
Update documentation
mcbarton Apr 18, 2025
780f02b
Update Windows-arm.yml to use llvm 20
mcbarton Apr 18, 2025
a2fecb9
Merge branch 'main' into Update-to-llvm-20
mcbarton Apr 25, 2025
4bf0c13
Add Windows Emscripten 20 cross compile llvm patch
mcbarton Apr 25, 2025
82744ee
Update Emscripten-build-instructions.rst
mcbarton Apr 25, 2025
2f98909
Update Emscripten-build-instructions.md
mcbarton Apr 25, 2025
271c0aa
Remove patch which is now in main llvm 20 Windows
mcbarton Apr 25, 2025
7e4e4e5
Enable Emscripten tests which pass for llvm 20
mcbarton Apr 25, 2025
cb6b552
Add patch needed to wasm-ld
mcbarton Apr 30, 2025
e8b557b
Fix Emscripten build instructions due to new patch
mcbarton Apr 30, 2025
4fc1c76
Merge branch 'main' into Update-to-llvm-20
mcbarton May 10, 2025
8149aa9
Revert "Add patch needed to wasm-ld"
mcbarton May 11, 2025
bcdfae9
Update Emscripten-build-instructions.md
mcbarton May 11, 2025
ef39018
Update Emscripten-build-instructions.rst
mcbarton May 11, 2025
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
13 changes: 13 additions & 0 deletions .github/workflows/MacOS-arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ jobs:
fail-fast: false
matrix:
include:
- name: osx15-arm-clang-clang-repl-20
os: macos-15
compiler: clang
clang-runtime: '20'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx15-arm-clang-clang-repl-19
os: macos-15
compiler: clang
Expand Down Expand Up @@ -251,6 +258,12 @@ jobs:
fail-fast: false
matrix:
include:
- name: osx15-arm-clang-clang-repl-20
os: macos-15
compiler: clang
clang-runtime: '20'
cling: Off
cppyy: Off
- name: osx15-arm-clang-clang-repl-19-cppyy
os: macos-15
compiler: clang
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/MacOS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ jobs:
fail-fast: false
matrix:
include:
- name: osx13-x86-clang-clang-repl-20
os: macos-13
compiler: clang
clang-runtime: '20'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host"
- name: osx13-x86-clang-clang-repl-19
os: macos-13
compiler: clang
Expand Down Expand Up @@ -235,6 +242,12 @@ jobs:
fail-fast: false
matrix:
include:
- name: osx13-x86-clang-clang-repl-20
os: macos-13
compiler: clang
clang-runtime: '20'
cling: Off
cppyy: Off
- name: osx13-x86-clang-clang-repl-19-cppyy
os: macos-13
compiler: clang
Expand Down
26 changes: 26 additions & 0 deletions .github/workflows/Ubuntu-arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ jobs:
fail-fast: false
matrix:
include:
- name: ubu22-arm-gcc12-clang-repl-20
os: ubuntu-22.04-arm
compiler: gcc-12
clang-runtime: '20'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu22-arm-gcc12-clang-repl-19
os: ubuntu-22.04-arm
compiler: gcc-12
Expand Down Expand Up @@ -58,6 +65,13 @@ jobs:
cling-version: '1.0'
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-arm-gcc12-clang-repl-20
os: ubuntu-24.04-arm
compiler: gcc-12
clang-runtime: '20'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-arm-gcc12-clang-repl-19
os: ubuntu-24.04-arm
compiler: gcc-12
Expand Down Expand Up @@ -275,6 +289,12 @@ jobs:
fail-fast: false
matrix:
include:
- name: ubu22-arm-gcc12-clang-repl-20
os: ubuntu-22.04-arm
compiler: gcc-12
clang-runtime: '20'
cling: Off
cppyy: Off
- name: ubu22-arm-gcc12-clang-repl-19-cppyy
os: ubuntu-22.04-arm
compiler: gcc-12
Expand Down Expand Up @@ -306,6 +326,12 @@ jobs:
cling: On
cling-version: '1.0'
cppyy: On
- name: ubu24-arm-gcc12-clang-repl-20
os: ubuntu-24.04-arm
compiler: gcc-12
clang-runtime: '20'
cling: Off
cppyy: Off
- name: ubu24-arm-gcc12-clang-repl-19-cppyy
os: ubuntu-24.04-arm
compiler: gcc-12
Expand Down
26 changes: 26 additions & 0 deletions .github/workflows/Ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ jobs:
fail-fast: false
matrix:
include:
- name: ubu22-x86-gcc12-clang-repl-20
os: ubuntu-22.04
compiler: gcc-12
clang-runtime: '20'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu22-x86-gcc12-clang-repl-19
os: ubuntu-22.04
compiler: gcc-12
Expand Down Expand Up @@ -58,6 +65,13 @@ jobs:
cling-version: '1.0'
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-x86-gcc12-clang-repl-20
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '20'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: ubu24-x86-gcc12-clang-repl-19
os: ubuntu-24.04
compiler: gcc-12
Expand Down Expand Up @@ -275,6 +289,12 @@ jobs:
fail-fast: false
matrix:
include:
- name: ubu22-x86-gcc12-clang-repl-20
os: ubuntu-22.04
compiler: gcc-12
clang-runtime: '20'
cling: Off
cppyy: Off
- name: ubu22-x86-gcc12-clang-repl-19-docs
os: ubuntu-22.04
compiler: gcc-12
Expand Down Expand Up @@ -314,6 +334,12 @@ jobs:
cling: On
cling-version: '1.0'
cppyy: On
- name: ubu24-x86-gcc12-clang-repl-20
os: ubuntu-24.04
compiler: gcc-12
clang-runtime: '20'
cling: Off
cppyy: Off
- name: ubu24-x86-gcc12-clang-repl-19-cppyy
os: ubuntu-24.04
compiler: gcc-12
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/Windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@ jobs:
fail-fast: false
matrix:
include:
- name: win2025-msvc-clang-repl-20
os: windows-2025
compiler: msvc
clang-runtime: '20'
cling: Off
llvm_enable_projects: "clang"
llvm_targets_to_build: "host;NVPTX"
- name: win2025-msvc-clang-repl-19
os: windows-2025
compiler: msvc
Expand Down Expand Up @@ -224,6 +231,12 @@ jobs:
fail-fast: false
matrix:
include:
- name: win2025-msvc-clang-repl-20
os: windows-2025
compiler: msvc
clang-runtime: '20'
cling: Off
cppyy: Off
- name: win2025-msvc-clang-repl-19
os: windows-2025
compiler: msvc
Expand Down
12 changes: 6 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,14 @@ include(GNUInstallDirs)
## Define supported version of clang and llvm

set(CLANG_MIN_SUPPORTED 13.0)
set(CLANG_MAX_SUPPORTED "19.1.x")
set(CLANG_VERSION_UPPER_BOUND 20.0.0)
set(CLANG_MAX_SUPPORTED "20.1.x")
set(CLANG_VERSION_UPPER_BOUND 21.0.0)
set(LLD_MIN_SUPPORTED 13.0)
set(LLD_MAX_SUPPORTED "19.1.x")
set(LLD_VERSION_UPPER_BOUND 20.0.0)
set(LLD_MAX_SUPPORTED "20.1.x")
set(LLD_VERSION_UPPER_BOUND 21.0.0)
set(LLVM_MIN_SUPPORTED 13.0)
set(LLVM_MAX_SUPPORTED "19.1.x")
set(LLVM_VERSION_UPPER_BOUND 20.0.0)
set(LLVM_MAX_SUPPORTED "20.1.x")
set(LLVM_VERSION_UPPER_BOUND 21.0.0)

## Set Cmake packages search order

Expand Down
19 changes: 18 additions & 1 deletion lib/Interpreter/Paths.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,29 @@ void CopyIncludePaths(const clang::HeaderSearchOptions& Opts,
if (!withSystem) continue;
if (withFlags) incpaths.push_back("-isystem");
break;

// Option was removed in llvm 20. Git log message below.
// git log --grep="index-header"
// commit 19b4f17d4c0ae12725050d09f04f85bccc686d8e
// Author: Jan Svoboda <[email protected]>
// Date: Thu Oct 31 16:04:35 2024 -0700
//
// [clang][lex] Remove `-index-header-map` (#114459)
//
// This PR removes the `-index-header-map` functionality from Clang.
// AFAIK this was only used internally at Apple and is now dead code.
// The main motivation behind this change is to enable the removal of
// `HeaderFileInfo::Framework` member and reducing the size of that
// data structure.
//
// rdar://84036149

#if CLANG_VERSION_MAJOR < 20
case frontend::IndexHeaderMap:
if (!withSystem) continue;
if (withFlags) incpaths.push_back("-index-header-map");
if (withFlags) incpaths.push_back(E.IsFramework? "-F" : "-I");
break;
#endif

case frontend::CSystem:
if (!withSystem) continue;
Expand Down
13 changes: 13 additions & 0 deletions unittests/CppInterOp/CUDATest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ static bool HasCudaRuntime() {

#if CLANG_VERSION_MAJOR < 16
TEST(DISABLED_CUDATest, Sanity) {
#elif CLANG_VERSION_MAJOR == 20
// FIXME: CUDA Tests Broken for llvm 20 release/
TEST(DISABLED_CUDATest, Sanity) {
#else
TEST(CUDATest, Sanity) {
#endif // CLANG_VERSION_MAJOR < 16
Expand All @@ -54,7 +57,12 @@ TEST(CUDATest, Sanity) {
EXPECT_TRUE(Cpp::CreateInterpreter({}, {"--cuda"}));
}

#if CLANG_VERSION_MAJOR == 20
// FIXME: CUDA Tests Broken for llvm 20 release/
TEST(DISABLED_CUDATest, CUDAH) {
#else
TEST(CUDATest, CUDAH) {
#endif
#ifdef _WIN32
GTEST_SKIP() << "Disabled on Windows. Needs fixing.";
#endif
Expand All @@ -66,7 +74,12 @@ TEST(CUDATest, CUDAH) {
EXPECT_TRUE(success);
}

#if CLANG_VERSION_MAJOR == 20
// FIXME: CUDA Tests Broken for llvm 20 release/
TEST(DISABLED_CUDATest, CUDARuntime) {
#else
TEST(CUDATest, CUDARuntime) {
#endif
#ifdef _WIN32
GTEST_SKIP() << "Disabled on Windows. Needs fixing.";
#endif
Expand Down
Loading