[libcxx-commits] [PATCH] D94921: [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 18 10:12:40 PST 2021


ldionne created this revision.
ldionne added reviewers: rnk, mstorsjo.
Herald added subscribers: jkorous, arichardson, mgorny.
ldionne requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D94921

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94921.317386.patch
Type: text/x-patch
Size: 27382 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210118/a52ae302/attachment-0001.bin>


More information about the libcxx-commits mailing list