From 84cfaa122e8352278f923b04d321b0e5fd321395 Mon Sep 17 00:00:00 2001 From: Jade Abraham Date: Fri, 31 Oct 2025 14:29:39 -0700 Subject: [PATCH 1/2] add llvm21 test config Signed-off-by: Jade Abraham --- util/cron/test-linux64-llvm21.bash | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 util/cron/test-linux64-llvm21.bash diff --git a/util/cron/test-linux64-llvm21.bash b/util/cron/test-linux64-llvm21.bash new file mode 100755 index 000000000000..9f49affefb69 --- /dev/null +++ b/util/cron/test-linux64-llvm21.bash @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# +# Test default configuration on examples only, on linux64, with llvm 21 + +UTIL_CRON_DIR=$(cd $(dirname ${BASH_SOURCE[0]}) ; pwd) +source $UTIL_CRON_DIR/common.bash + +source /hpcdc/project/chapel/setup_llvm.bash 21 + +# Check LLVM version via llvm-config from CHPL_LLVM_CONFIG +llvm_version=$($CHPL_LLVM_CONFIG --version) +if [ "$llvm_version" != "21.1.1" ]; then + echo "Wrong LLVM version" + echo "Expected Version: 21.1.1 Actual Version: $llvm_version" + exit 2 +fi + +export CHPL_LAUNCHER=none + +export CHPL_NIGHTLY_TEST_CONFIG_NAME="linux64-llvm21" +export CHPL_NIGHTLY_TEST_DIRS="llvm/" + +$UTIL_CRON_DIR/nightly -cron -examples -blog ${nightly_args} From b681c5a67df43af1981582069d3e353e7a6fd279 Mon Sep 17 00:00:00 2001 From: Jade Abraham Date: Fri, 31 Oct 2025 14:30:26 -0700 Subject: [PATCH 2/2] llvm21 portability updates Signed-off-by: Jade Abraham --- doc/rst/usingchapel/prereqs.rst | 2 +- util/devel/test/portability/apptainer/current/arch/image.def | 2 +- .../portability/provision-scripts/apt-get-and-linuxbrew.sh | 3 +-- util/packaging/homebrew/chapel-main.rb | 5 +---- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/doc/rst/usingchapel/prereqs.rst b/doc/rst/usingchapel/prereqs.rst index fb43d2772039..d772804c36f8 100644 --- a/doc/rst/usingchapel/prereqs.rst +++ b/doc/rst/usingchapel/prereqs.rst @@ -134,7 +134,7 @@ We have used the following commands to install the above prerequisites: sudo pacman -Syu sudo pacman -S base-devel sudo pacman -S cmake git python - sudo pacman -S llvm20 clang20 + sudo pacman -S llvm clang * CentOS Stream 9, 10:: diff --git a/util/devel/test/portability/apptainer/current/arch/image.def b/util/devel/test/portability/apptainer/current/arch/image.def index 65f70fbcba55..0ced8e73275a 100644 --- a/util/devel/test/portability/apptainer/current/arch/image.def +++ b/util/devel/test/portability/apptainer/current/arch/image.def @@ -6,7 +6,7 @@ From: archlinux:base-devel %post /provision-scripts/pacman-deps.sh - /provision-scripts/pacman-llvm20.sh + /provision-scripts/pacman-llvm.sh %runscript ../../provision-scripts/run.sh "$@" diff --git a/util/devel/test/portability/provision-scripts/apt-get-and-linuxbrew.sh b/util/devel/test/portability/provision-scripts/apt-get-and-linuxbrew.sh index 1c16d03728e7..8ab1524febae 100644 --- a/util/devel/test/portability/provision-scripts/apt-get-and-linuxbrew.sh +++ b/util/devel/test/portability/provision-scripts/apt-get-and-linuxbrew.sh @@ -27,8 +27,7 @@ brew install gcc #hide # install some dependencies in homebrew brew install cmake python gmp llvm #unsudo -# install LLVM version 20 as we don't support 21 yet -brew install llvm@20 #unsudo +brew install llvm #unsudo # we could use Homebrew's gcc if that becomes important in the future: # # link the homebrew-installed gcc-* to gcc diff --git a/util/packaging/homebrew/chapel-main.rb b/util/packaging/homebrew/chapel-main.rb index 833dcc046f07..f6dad7601d1b 100644 --- a/util/packaging/homebrew/chapel-main.rb +++ b/util/packaging/homebrew/chapel-main.rb @@ -18,7 +18,7 @@ class Chapel < Formula depends_on "gmp" depends_on "hwloc" depends_on "jemalloc" - depends_on "llvm@20" + depends_on "llvm" depends_on "pkgconf" depends_on "python@3.13" @@ -174,9 +174,6 @@ def caveats end test do - # Hide ld warning until formula uses LLVM 21+ or if we apply backports to `llvm@20` - ENV["MACOSX_DEPLOYMENT_TARGET"] = MacOS.version.to_s if OS.mac? && MacOS.version >= :tahoe - ENV["CHPL_HOME"] = libexec ENV["CHPL_INCLUDE_PATH"] = HOMEBREW_PREFIX/"include" ENV["CHPL_LIB_PATH"] = HOMEBREW_PREFIX/"lib"