[libc++] Updates the compilers used post LLVM-20 branching. (#126564)
Once LLVM 20 is released the clang-18 will no longer be supported.
This commit is contained in:
28
.github/workflows/libcxx-build-and-test.yaml
vendored
28
.github/workflows/libcxx-build-and-test.yaml
vendored
@@ -37,7 +37,7 @@ jobs:
|
||||
stage1:
|
||||
if: github.repository_owner == 'llvm'
|
||||
runs-on: libcxx-self-hosted-linux
|
||||
container: ghcr.io/llvm/libcxx-linux-builder:d8a0709b1090350a7fe3604d8ab78c7d62f10698
|
||||
container: ghcr.io/llvm/libcxx-linux-builder:b319dfef21f6c7b0bc6a356d6b9f41a3b3b98ae9
|
||||
continue-on-error: false
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -48,8 +48,8 @@ jobs:
|
||||
'generic-cxx26',
|
||||
'generic-modules'
|
||||
]
|
||||
cc: [ 'clang-20' ]
|
||||
cxx: [ 'clang++-20' ]
|
||||
cc: [ 'clang-21' ]
|
||||
cxx: [ 'clang++-21' ]
|
||||
include:
|
||||
- config: 'generic-gcc'
|
||||
cc: 'gcc-14'
|
||||
@@ -75,7 +75,7 @@ jobs:
|
||||
stage2:
|
||||
if: github.repository_owner == 'llvm'
|
||||
runs-on: libcxx-self-hosted-linux
|
||||
container: ghcr.io/llvm/libcxx-linux-builder:d8a0709b1090350a7fe3604d8ab78c7d62f10698
|
||||
container: ghcr.io/llvm/libcxx-linux-builder:b319dfef21f6c7b0bc6a356d6b9f41a3b3b98ae9
|
||||
needs: [ stage1 ]
|
||||
continue-on-error: false
|
||||
strategy:
|
||||
@@ -88,18 +88,22 @@ jobs:
|
||||
'generic-cxx20',
|
||||
'generic-cxx23'
|
||||
]
|
||||
cc: [ 'clang-20' ]
|
||||
cxx: [ 'clang++-20' ]
|
||||
cc: [ 'clang-21' ]
|
||||
cxx: [ 'clang++-21' ]
|
||||
include:
|
||||
- config: 'generic-gcc-cxx11'
|
||||
cc: 'gcc-14'
|
||||
cxx: 'g++-14'
|
||||
- config: 'generic-cxx23'
|
||||
cc: 'clang-18'
|
||||
cxx: 'clang++-18'
|
||||
- config: 'generic-cxx26'
|
||||
cc: 'clang-20'
|
||||
cxx: 'clang++-20'
|
||||
- config: 'generic-cxx26'
|
||||
cc: 'clang-19'
|
||||
cxx: 'clang++-19'
|
||||
# Release transition
|
||||
- config: 'generic-cxx23'
|
||||
cc: 'clang-18'
|
||||
cxx: 'clang++-18'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: ${{ matrix.config }}
|
||||
@@ -163,14 +167,14 @@ jobs:
|
||||
- config: 'generic-msan'
|
||||
machine: libcxx-self-hosted-linux
|
||||
runs-on: ${{ matrix.machine }}
|
||||
container: ghcr.io/llvm/libcxx-linux-builder:d8a0709b1090350a7fe3604d8ab78c7d62f10698
|
||||
container: ghcr.io/llvm/libcxx-linux-builder:b319dfef21f6c7b0bc6a356d6b9f41a3b3b98ae9
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: ${{ matrix.config }}
|
||||
run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
|
||||
env:
|
||||
CC: clang-20
|
||||
CXX: clang++-20
|
||||
CC: clang-21
|
||||
CXX: clang++-21
|
||||
- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
|
||||
if: always()
|
||||
with:
|
||||
|
||||
@@ -128,14 +128,14 @@ Libc++ aims to support common compilers that implement the C++11 Standard. In or
|
||||
good balance between stability for users and maintenance cost, testing coverage and development
|
||||
velocity, libc++ drops support for older compilers as newer ones are released.
|
||||
|
||||
============ =============== ========================== =====================
|
||||
Compiler Versions Restrictions Support policy
|
||||
============ =============== ========================== =====================
|
||||
Clang 17, 18, 19-git latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_ and the development version
|
||||
AppleClang 15 latest stable release per `Xcode's release page <https://developer.apple.com/documentation/xcode-release-notes>`_
|
||||
Open XL 17.1 (AIX) latest stable release per `Open XL's documentation page <https://www.ibm.com/docs/en/openxl-c-and-cpp-aix>`_
|
||||
GCC 14 In C++11 or later only latest stable release per `GCC's release page <https://gcc.gnu.org/releases.html>`_
|
||||
============ =============== ========================== =====================
|
||||
============ =================== ========================== =====================
|
||||
Compiler Versions Restrictions Support policy
|
||||
============ =================== ========================== =====================
|
||||
Clang 18, 19, 20, 21-git latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_ and the development version
|
||||
AppleClang 15 latest stable release per `Xcode's release page <https://developer.apple.com/documentation/xcode-release-notes>`_
|
||||
Open XL 17.1 (AIX) latest stable release per `Open XL's documentation page <https://www.ibm.com/docs/en/openxl-c-and-cpp-aix>`_
|
||||
GCC 14 In C++11 or later only latest stable release per `GCC's release page <https://gcc.gnu.org/releases.html>`_
|
||||
============ =================== ========================== =====================
|
||||
|
||||
Libc++ also supports common platforms and architectures:
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// UNSUPPORTED: c++03
|
||||
|
||||
// TODO: Investigate these failures which break the CI.
|
||||
// UNSUPPORTED: clang-18, clang-19, clang-20
|
||||
// UNSUPPORTED: clang-18, clang-19, clang-20, clang-21
|
||||
|
||||
// The Android libc++ tests are run on a non-Android host, connected to an
|
||||
// Android device over adb. gdb needs special support to make this work (e.g.
|
||||
|
||||
Reference in New Issue
Block a user