[libcxx-commits] [libcxx] [libc++] Use compiler explorer for Clang as well and update to LLVM 23 as head (PR #185168)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Mar 9 07:22:43 PDT 2026
================
@@ -91,42 +91,41 @@ RUN <<EOF
sudo locale-gen
EOF
-# Install Clang <latest>, <latest-1> and ToT, which are the ones we support.
-# We also install <latest-2> because we need to support the "latest-1" of the
-# current LLVM release branch, which is effectively the <latest-2> of the
-# tip-of-trunk LLVM. For example, after branching LLVM 14 but before branching
-# LLVM 15, we still need to have Clang 12 in this Docker image because the LLVM
-# 14 release branch CI uses it. The tip-of-trunk CI will never use Clang 12,
-# though.
-RUN <<EOF
- set -e
- sudo apt-get update
- wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh
- chmod +x /tmp/llvm.sh
- sudo /tmp/llvm.sh $(($LLVM_HEAD_VERSION - 3)) all # for CI transitions
- sudo /tmp/llvm.sh $(($LLVM_HEAD_VERSION - 2)) all # previous release
- sudo /tmp/llvm.sh $(($LLVM_HEAD_VERSION - 1)) all # latest release
- sudo /tmp/llvm.sh $LLVM_HEAD_VERSION all # current ToT
- sudo rm -rf /var/lib/apt/lists/*
-EOF
-
# Install the most recent GCC, like clang install the previous version as a transition.
RUN <<EOF
+ install_gcc() {
+ sudo /tmp/ce-infra/bin/ce_install install compilers/c++/x86/gcc $1.1.0
+ sudo ln -s /opt/compiler-explorer/gcc-$1.1.0/bin/gcc /usr/bin/gcc-$1
+ sudo ln -s /opt/compiler-explorer/gcc-$1.1.0/bin/g++ /usr/bin/g++-$1
+ }
+
set -e
sudo git clone https://github.com/compiler-explorer/infra.git /tmp/ce-infra
(cd /tmp/ce-infra && sudo make ce)
- # Current ToT, we do not guarantee any support in our support matrix.
+
+ # Trunk needs special handling due to it being a nightly build
sudo /tmp/ce-infra/bin/ce_install --enable nightly install compilers/c++/nightly/gcc trunk
sudo ln -s /opt/compiler-explorer/gcc-snapshot/bin/gcc /usr/bin/gcc-$GCC_HEAD_VERSION
sudo ln -s /opt/compiler-explorer/gcc-snapshot/bin/g++ /usr/bin/g++-$GCC_HEAD_VERSION
- # The latest release.
- sudo /tmp/ce-infra/bin/ce_install install compilers/c++/x86/gcc $((GCC_HEAD_VERSION - 1)).1.0
- sudo ln -s /opt/compiler-explorer/gcc-$((GCC_HEAD_VERSION - 1)).1.0/bin/gcc /usr/bin/gcc-$((GCC_HEAD_VERSION - 1))
- sudo ln -s /opt/compiler-explorer/gcc-$((GCC_HEAD_VERSION - 1)).1.0/bin/g++ /usr/bin/g++-$((GCC_HEAD_VERSION - 1))
- # For CI transitions.
- sudo /tmp/ce-infra/bin/ce_install install compilers/c++/x86/gcc $((GCC_HEAD_VERSION - 2)).1.0
- sudo ln -s /opt/compiler-explorer/gcc-$((GCC_HEAD_VERSION - 2)).1.0/bin/gcc /usr/bin/gcc-$((GCC_HEAD_VERSION - 2))
- sudo ln -s /opt/compiler-explorer/gcc-$((GCC_HEAD_VERSION - 2)).1.0/bin/g++ /usr/bin/g++-$((GCC_HEAD_VERSION - 2))
+
+ install_gcc $((GCC_HEAD_VERSION - 1)) # The latest release. The only supported version.
+ install_gcc $((GCC_HEAD_VERSION - 2)) # For CI transitions. Not supported anymore.
----------------
ldionne wrote:
```suggestion
install_gcc $((GCC_HEAD_VERSION - 2)) # This version is not officially supported by the library anymore, but is used for CI transitions.
```
https://github.com/llvm/llvm-project/pull/185168
More information about the libcxx-commits
mailing list