aboutsummaryrefslogtreecommitdiff
path: root/libcxx/utils
diff options
context:
space:
mode:
authorMark de Wever <koraq@xs4all.nl>2024-01-17 08:11:25 +0100
committerGitHub <noreply@github.com>2024-01-17 08:11:25 +0100
commitd06ae33ec32122bb526fb35025c1f0cf979f1090 (patch)
tree5bff59f185bac4235f22ea775a76b3bc0a564f91 /libcxx/utils
parentd89a0a65947eb0c7bce733ee76991f900209d139 (diff)
downloadllvm-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/Dockerfile11
-rw-r--r--libcxx/utils/ci/buildkite-pipeline.yml2
-rwxr-xr-xlibcxx/utils/ci/run-buildbot10
-rw-r--r--libcxx/utils/libcxx/test/features.py1
-rw-r--r--libcxx/utils/libcxx/test/modules.py3
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.