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

Mark de Wever via All-commits all-commits at lists.llvm.org
Thu Jan 11 22:53:18 PST 2024


  Branch: refs/heads/users/mordante/removes_module_testing
  Home:   https://github.com/llvm/llvm-project
  Commit: 13d79904be2e77853ca4f0e7e6b4d25cfb6b9360
      https://github.com/llvm/llvm-project/commit/13d79904be2e77853ca4f0e7e6b4d25cfb6b9360
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  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