[libcxx-commits] [libcxx] c1d49ce - [libc++][CI] Moves modules build to C++23.

Mark de Wever via libcxx-commits libcxx-commits at lists.llvm.org
Tue Aug 22 11:19:53 PDT 2023


Author: Mark de Wever
Date: 2023-08-22T20:19:48+02:00
New Revision: c1d49ce67a3ff3c0678ae3e39d846312c9a5633a

URL: https://github.com/llvm/llvm-project/commit/c1d49ce67a3ff3c0678ae3e39d846312c9a5633a
DIFF: https://github.com/llvm/llvm-project/commit/c1d49ce67a3ff3c0678ae3e39d846312c9a5633a.diff

LOG: [libc++][CI] Moves modules build to C++23.

The std module can be tested in the generic C++23 build. This removes the
special module build.

Note it is possible to enable modules automatically in CMake, but that
would fail in the "parts disabled" builds; they have not been properly
been converted to modules yet.

Depends on D157625

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D157744

Added: 
    

Modified: 
    libcxx/utils/ci/buildkite-pipeline.yml
    libcxx/utils/ci/run-buildbot

Removed: 
    libcxx/cmake/caches/Generic-module-std-cxx23.cmake


################################################################################
diff  --git a/libcxx/cmake/caches/Generic-module-std-cxx23.cmake b/libcxx/cmake/caches/Generic-module-std-cxx23.cmake
deleted file mode 100644
index ffff55381e955b..00000000000000
--- a/libcxx/cmake/caches/Generic-module-std-cxx23.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-set(LIBCXX_ENABLE_STD_MODULES ON CACHE BOOL "")
-set(LIBCXX_TEST_PARAMS "std=c++23" CACHE STRING "")
-set(LIBCXXABI_TEST_PARAMS "std=c++23" CACHE STRING "")
-

diff  --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 19f3703ad9841c..dcdf30b8690f2d 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -149,27 +149,6 @@ steps:
           limit: 2
     timeout_in_minutes: 120
 
-  - label: "C++23 Module std"
-    command: "libcxx/utils/ci/run-buildbot generic-module-std-cxx23"
-    artifact_paths:
-      - "**/test-results.xml"
-      - "**/*.abilist"
-    env:
-        # Note modules require and absolute path for clang-scan-deps
-        # https://github.com/llvm/llvm-project/issues/61006
-        CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
-        CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
-        CMAKE: "/opt/bin/cmake"
-        ENABLE_CLANG_TIDY: "On"
-    agents:
-      queue: "libcxx-builders"
-      os: "linux"
-    retry:
-      automatic:
-        - exit_status: -1  # Agent was lost
-          limit: 2
-    timeout_in_minutes: 120
-
   - label: "C++11"
     command: "libcxx/utils/ci/run-buildbot generic-cxx11"
     artifact_paths:
@@ -217,9 +196,13 @@ steps:
       - "**/test-results.xml"
       - "**/*.abilist"
     env:
-        CC: "clang-${LLVM_HEAD_VERSION}"
-        CXX: "clang++-${LLVM_HEAD_VERSION}"
+        # Note: Modules require and absolute path for clang-scan-deps
+        # https://github.com/llvm/llvm-project/issues/61006
+        CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
+        CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
+        CMAKE: "/opt/bin/cmake"
         ENABLE_CLANG_TIDY: "On"
+        ENABLE_STD_MODULES: "On"
     agents:
       queue: "libcxx-builders"
       os: "linux"
@@ -311,6 +294,7 @@ steps:
         CC: "clang-15"
         CXX: "clang++-15"
         ENABLE_CLANG_TIDY: "On"
+        ENABLE_STD_MODULES: "Off"
     agents:
       queue: "libcxx-builders"
       os: "linux"
@@ -329,6 +313,7 @@ steps:
         CC: "clang-16"
         CXX: "clang++-16"
         ENABLE_CLANG_TIDY: "On"
+        ENABLE_STD_MODULES: "Off"
     agents:
       queue: "libcxx-builders"
       os: "linux"
@@ -344,8 +329,11 @@ steps:
       - "**/test-results.xml"
       - "**/*.abilist"
     env:
-        CC: "clang-17"
-        CXX: "clang++-17"
+        # Note: Modules require and absolute path for clang-scan-deps
+        # https://github.com/llvm/llvm-project/issues/61006
+        CC: "/usr/lib/llvm-17/bin/clang"
+        CXX: "/usr/lib/llvm-17/bin/clang++"
+        CMAKE: "/opt/bin/cmake"
         ENABLE_CLANG_TIDY: "On"
     agents:
       queue: "libcxx-builders"
@@ -1124,6 +1112,7 @@ steps:
       env:
           CC: "clang15"
           CXX: "clang++15"
+          ENABLE_STD_MODULES: "Off"
       agents:
         queue: "libcxx-builders"
         os: "freebsd"

diff  --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index 1fa7f880b6c915..7c93b07dc3abf1 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -51,6 +51,12 @@ GIT_CLANG_FORMAT    The git-clang-format binary to use in the 'format' builder.
 
 ENABLE_CLANG_TIDY   Whether to compile and run clang-tidy checks. This variable
                     is optional.
+
+ENABLE_STD_MODULES  Whether to enable or disable building the C++23 std
+                    modules. This variable is optional.
+                    TODO MODULES remove when all supported compilers support
+                    modules.
+
 EOF
 }
 
@@ -119,6 +125,10 @@ if [ -z "${ENABLE_CLANG_TIDY}" ]; then
     ENABLE_CLANG_TIDY=Off
 fi
 
+if [ -n "${ENABLE_STD_MODULES}" ]; then
+    ENABLE_STD_MODULES="-DLIBCXX_ENABLE_STD_MODULES=${ENABLE_STD_MODULES}"
+fi
+
 function generate-cmake-base() {
     echo "--- Generating CMake"
     ${CMAKE} \
@@ -131,6 +141,7 @@ function generate-cmake-base() {
           -DLIBCXXABI_ENABLE_WERROR=YES \
           -DLIBUNWIND_ENABLE_WERROR=YES \
           -DLIBCXX_ENABLE_CLANG_TIDY=${ENABLE_CLANG_TIDY} \
+          ${ENABLE_STD_MODULES} \
           -DLLVM_LIT_ARGS="-sv --show-unsupported --xunit-xml-output test-results.xml --timeout=1500 --time-tests" \
           "${@}"
 }
@@ -414,12 +425,6 @@ generic-modules-lsv)
     check-runtimes
     check-abi-list
 ;;
-generic-module-std-cxx23)
-    clean
-    generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-module-std-cxx23.cmake"
-    check-runtimes
-    check-abi-list
-;;
 #
 # Parts removed
 #


        


More information about the libcxx-commits mailing list