diff options
author | Mark de Wever <koraq@xs4all.nl> | 2024-01-17 08:11:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-17 08:11:25 +0100 |
commit | d06ae33ec32122bb526fb35025c1f0cf979f1090 (patch) | |
tree | 5bff59f185bac4235f22ea775a76b3bc0a564f91 /libcxx/utils | |
parent | d89a0a65947eb0c7bce733ee76991f900209d139 (diff) | |
download | llvm-d06ae33ec32122bb526fb35025c1f0cf979f1090.zip llvm-d06ae33ec32122bb526fb35025c1f0cf979f1090.tar.gz llvm-d06ae33ec32122bb526fb35025c1f0cf979f1090.tar.bz2 |
[libc++][modules] Removes module testing. (#76083)
This removes the entire modules testing infrastructure.
The current infrastructure uses CMake to generate the std and std.compat
module. This requires quite a bit of plumbing and uses CMake. Since
CMake introduced module support in CMake 3.26, modules have a higher
CMake requirement than the rest of the LLVM project. (The LLVM project
requires 3.20.) The main motivation for this approach was how libc++
generated its modules. Every header had its own module partition. This
was changed to improve performance and now only two modules remain. The
code to build these can be manually crafted.
A followup patch will reenable testing modules, using a different
approach.
Diffstat (limited to 'libcxx/utils')
-rw-r--r-- | libcxx/utils/ci/Dockerfile | 11 | ||||
-rw-r--r-- | libcxx/utils/ci/buildkite-pipeline.yml | 2 | ||||
-rwxr-xr-x | libcxx/utils/ci/run-buildbot | 10 | ||||
-rw-r--r-- | libcxx/utils/libcxx/test/features.py | 1 | ||||
-rw-r--r-- | libcxx/utils/libcxx/test/modules.py | 3 |
5 files changed, 2 insertions, 25 deletions
diff --git a/libcxx/utils/ci/Dockerfile b/libcxx/utils/ci/Dockerfile index e4bda4f..225de93 100644 --- a/libcxx/utils/ci/Dockerfile +++ b/libcxx/utils/ci/Dockerfile @@ -152,17 +152,6 @@ RUN <<EOF wget https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1-linux-x86_64.sh -O /tmp/install-cmake.sh sudo bash /tmp/install-cmake.sh --prefix=/usr --exclude-subdir --skip-license rm /tmp/install-cmake.sh - - # Install a newer CMake for modules - # TODO Remove the duplicated installation when all runtimes can be build with CMake 3.28. - wget https://github.com/Kitware/CMake/releases/download/v3.27.1/cmake-3.27.1-linux-x86_64.sh -O /tmp/install-cmake.sh - sudo bash /tmp/install-cmake.sh --prefix=/opt --exclude-subdir --skip-license - rm /tmp/install-cmake.sh - - wget https://github.com/Kitware/CMake/releases/download/v3.28.0-rc4/cmake-3.28.0-rc4-linux-x86_64.sh -O /tmp/install-cmake.sh - sudo mkdir /opt/cmake-3.28 - sudo bash /tmp/install-cmake.sh --prefix=/opt/cmake-3.28 --exclude-subdir --skip-license - rm /tmp/install-cmake.sh EOF # ===----------------------------------------------------------------------===## diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml index a48f852..a7c44da 100644 --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -48,7 +48,6 @@ environment_definitions: CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" CC: clang-${LLVM_HEAD_VERSION} CXX: clang++-${LLVM_HEAD_VERSION} - CMAKE: /opt/bin/cmake _absolute_path_clang: &absolute_path_clang # Note modules require and absolute path for clang-scan-deps @@ -262,7 +261,6 @@ steps: env: CC: clang16 CXX: clang++16 - 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 221b497..ddfe53d 100755 --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -47,11 +47,6 @@ CLANG_FORMAT The clang-format binary to use when generating the format 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 } @@ -120,10 +115,6 @@ 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} \ @@ -136,7 +127,6 @@ 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 --xunit-xml-output test-results.xml --timeout=1500 --time-tests" \ "${@}" } diff --git a/libcxx/utils/libcxx/test/features.py b/libcxx/utils/libcxx/test/features.py index 461e134..1570a6b 100644 --- a/libcxx/utils/libcxx/test/features.py +++ b/libcxx/utils/libcxx/test/features.py @@ -343,7 +343,6 @@ macros = { "_LIBCPP_HAS_NO_WIDE_CHARACTERS": "no-wide-characters", "_LIBCPP_HAS_NO_TIME_ZONE_DATABASE": "no-tzdb", "_LIBCPP_HAS_NO_UNICODE": "libcpp-has-no-unicode", - "_LIBCPP_HAS_NO_STD_MODULES": "libcpp-has-no-std-modules", "_LIBCPP_PSTL_CPU_BACKEND_LIBDISPATCH": "libcpp-pstl-cpu-backend-libdispatch", } for macro, feature in macros.items(): diff --git a/libcxx/utils/libcxx/test/modules.py b/libcxx/utils/libcxx/test/modules.py index bd19fac..9362d52 100644 --- a/libcxx/utils/libcxx/test/modules.py +++ b/libcxx/utils/libcxx/test/modules.py @@ -118,9 +118,10 @@ class module_test_generator: print( f"""\ // UNSUPPORTED: c++03, c++11, c++14, c++17 -// UNSUPPORTED: libcpp-has-no-std-modules // UNSUPPORTED: clang-modules-build +// XFAIL: * + // REQUIRES: has-clang-tidy // The GCC compiler flags are not always compatible with clang-tidy. |