[all-commits] [llvm/llvm-project] 933518: [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consi...

Louis Dionne via All-commits all-commits at lists.llvm.org
Tue Jan 19 11:16:17 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 933518fff82c8f39626bbcca81adc516483a9651
      https://github.com/llvm/llvm-project/commit/933518fff82c8f39626bbcca81adc516483a9651
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2021-01-19 (Tue, 19 Jan 2021)

  Changed paths:
    M libcxx/CMakeLists.txt
    A libcxx/cmake/caches/Generic-no-filesystem.cmake
    M libcxx/include/__config_site.in
    M libcxx/include/filesystem
    M libcxx/include/fstream
    M libcxx/test/configs/legacy.cfg.in
    M libcxx/test/libcxx/double_include.sh.cpp
    M libcxx/test/libcxx/experimental/filesystem/deprecated.verify.cpp
    M libcxx/test/libcxx/experimental/filesystem/version.pass.cpp
    M libcxx/test/libcxx/min_max_macros.compile.pass.cpp
    M libcxx/test/libcxx/modules/cinttypes_exports.compile.pass.cpp
    M libcxx/test/libcxx/modules/clocale_exports.compile.pass.cpp
    M libcxx/test/libcxx/modules/cstdint_exports.compile.pass.cpp
    M libcxx/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp
    M libcxx/test/libcxx/modules/stdint_h_exports.compile.pass.cpp
    M libcxx/test/libcxx/modules/stds_include.sh.cpp
    M libcxx/test/libcxx/no_assert_include.compile.pass.cpp
    M libcxx/test/std/experimental/filesystem/fs.req.macros/feature_macro.pass.cpp
    M libcxx/test/std/experimental/filesystem/fs.req.namespace/namespace.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/open_path.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.members/open_path.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/open_path.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/open_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/lit.local.cfg
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.pass.cpp
    M libcxx/test/std/utilities/time/time.clock/time.clock.file/now.pass.cpp
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/macos-backdeployment.sh
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/generate_header_tests.py
    M libcxx/utils/libcxx/test/features.py
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent

Previously, LIBCXX_ENABLE_FILESYSTEM controlled only whether the filesystem
support was compiled into libc++'s library. This commit promotes the
setting to a first-class option like LIBCXX_ENABLE_LOCALIZATION, where
the whole library is aware of the setting and features that depend on
<filesystem> won't be provided at all. The test suite is also properly
annotated such that tests that depend on <filesystem> are disabled when
the library doesn't support it.

This is an alternative to https://llvm.org/D94824, but also an improvement
along the lines of LIBCXX_ENABLE_LOCALIZATION that I had been wanting to
make for a while.

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




More information about the All-commits mailing list