[all-commits] [llvm/llvm-project] 5c5c96: [libc++][modules] Removes module testing.

Mark de Wever via All-commits all-commits at lists.llvm.org
Wed Dec 20 09:37:40 PST 2023


  Branch: refs/heads/users/mordante/removes_module_testing
  Home:   https://github.com/llvm/llvm-project
  Commit: 5c5c96851933bac0e362fc805454b2ec24fb1395
      https://github.com/llvm/llvm-project/commit/5c5c96851933bac0e362fc805454b2ec24fb1395
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Generic-cxx26.cmake
    M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
    M libcxx/cmake/caches/Generic-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-no-experimental.cmake
    M libcxx/cmake/caches/Generic-no-filesystem.cmake
    M libcxx/cmake/caches/Generic-no-localization.cmake
    M libcxx/cmake/caches/Generic-no-random_device.cmake
    M libcxx/cmake/caches/Generic-no-threads.cmake
    M libcxx/cmake/caches/Generic-no-tzdb.cmake
    M libcxx/cmake/caches/Generic-no-unicode.cmake
    M libcxx/cmake/caches/Generic-no-wide-characters.cmake
    M libcxx/docs/Modules.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/modules/CMakeLists.txt
    R libcxx/modules/CMakeLists.txt.in
    M libcxx/test/CMakeLists.txt
    M libcxx/test/configs/cmake-bridge.cfg.in
    R libcxx/test/lit.local.cfg
    M libcxx/test/std/modules/std.compat.pass.cpp
    M libcxx/test/std/modules/std.pass.cpp
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/libcxx/test/features.py
    M libcxx/utils/libcxx/test/modules.py

  Log Message:
  -----------
  [libc++][modules] Removes module testing.

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.




More information about the All-commits mailing list