diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -65,8 +65,10 @@ # environments. set(ENABLE_FILESYSTEM_DEFAULT OFF) endif() -option(LIBCXX_ENABLE_FILESYSTEM "Build filesystem as part of the main libc++ library" - ${ENABLE_FILESYSTEM_DEFAULT}) +option(LIBCXX_ENABLE_FILESYSTEM + "Whether to include support for parts of the library that rely on a filesystem being + available on the platform. This includes things like most parts of and + others like " ${ENABLE_FILESYSTEM_DEFAULT}) option(LIBCXX_INCLUDE_TESTS "Build the libc++ tests." ${LLVM_INCLUDE_TESTS}) option(LIBCXX_ENABLE_DEBUG_MODE "Whether to build libc++ with the debug mode enabled. @@ -85,8 +87,6 @@ the C locale API (e.g. embedded). When localization is not supported, several parts of the library will be disabled: , , will be completely unusable, and other parts may be only partly available." ON) -option(LIBCXX_ENABLE_FSTREAM - "Whether to include support for ." ON) # TODO: Consider rolling that into LIBCXX_ENABLE_FILESYSTEM option(LIBCXX_ENABLE_UNICODE "Whether to include support for Unicode in the library. Disabling Unicode can be useful when porting to platforms that don't support UTF-8 encoding (e.g. @@ -788,10 +788,9 @@ config_define_if(LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL) config_define_if(LIBCXX_HAS_MUSL_LIBC _LIBCPP_HAS_MUSL_LIBC) config_define_if(LIBCXX_NO_VCRUNTIME _LIBCPP_NO_VCRUNTIME) -config_define_if_not(LIBCXX_ENABLE_FILESYSTEM _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +config_define_if_not(LIBCXX_ENABLE_FILESYSTEM _LIBCPP_HAS_NO_FILESYSTEM) config_define_if_not(LIBCXX_ENABLE_RANDOM_DEVICE _LIBCPP_HAS_NO_RANDOM_DEVICE) config_define_if_not(LIBCXX_ENABLE_LOCALIZATION _LIBCPP_HAS_NO_LOCALIZATION) -config_define_if_not(LIBCXX_ENABLE_FSTREAM _LIBCPP_HAS_NO_FSTREAM) config_define_if_not(LIBCXX_ENABLE_UNICODE _LIBCPP_HAS_NO_UNICODE) config_define_if_not(LIBCXX_ENABLE_WIDE_CHARACTERS _LIBCPP_HAS_NO_WIDE_CHARACTERS) config_define_if_not(LIBCXX_ENABLE_VENDOR_AVAILABILITY_ANNOTATIONS _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS) diff --git a/libcxx/cmake/caches/Generic-no-fstream.cmake b/libcxx/cmake/caches/Generic-no-fstream.cmake deleted file mode 100644 --- a/libcxx/cmake/caches/Generic-no-fstream.cmake +++ /dev/null @@ -1 +0,0 @@ -set(LIBCXX_ENABLE_FSTREAM OFF CACHE BOOL "") diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst --- a/libcxx/docs/ReleaseNotes.rst +++ b/libcxx/docs/ReleaseNotes.rst @@ -153,3 +153,11 @@ - Building libc++ and libc++abi for Apple platforms now requires targeting macOS 10.13 and later. This is relevant for vendors building the libc++ shared library and for folks statically linking libc++ into an application that has back-deployment requirements on Apple platforms. + +- ``LIBCXX_ENABLE_FILESYSTEM`` now represents whether a filesystem is supported on the platform instead + of representing merely whether ```` should be provided. This means that vendors building + with ``LIBCXX_ENABLE_FILESYSTEM=OFF`` will now also get ```` excluded from their configuration + of the library. + +- ``LIBCXX_ENABLE_FSTREAM`` is not supported anymore, please use ``LIBCXX_ENABLE_FILESYSTEM=OFF`` if your + platform does not have support for a filesystem. diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt --- a/libcxx/include/CMakeLists.txt +++ b/libcxx/include/CMakeLists.txt @@ -988,7 +988,7 @@ wctype.h ) -foreach(feature LIBCXX_ENABLE_FILESYSTEM LIBCXX_ENABLE_LOCALIZATION LIBCXX_ENABLE_FSTREAM LIBCXX_ENABLE_THREADS LIBCXX_ENABLE_WIDE_CHARACTERS) +foreach(feature LIBCXX_ENABLE_FILESYSTEM LIBCXX_ENABLE_LOCALIZATION LIBCXX_ENABLE_THREADS LIBCXX_ENABLE_WIDE_CHARACTERS) if (NOT ${${feature}}) set(requires_${feature} "requires LIBCXX_CONFIGURED_WITHOUT_SUPPORT_FOR_THIS_HEADER") endif() diff --git a/libcxx/include/__config_site.in b/libcxx/include/__config_site.in --- a/libcxx/include/__config_site.in +++ b/libcxx/include/__config_site.in @@ -24,10 +24,9 @@ #cmakedefine _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS #cmakedefine _LIBCPP_NO_VCRUNTIME #cmakedefine _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION @_LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION@ -#cmakedefine _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY +#cmakedefine _LIBCPP_HAS_NO_FILESYSTEM #cmakedefine _LIBCPP_HAS_NO_RANDOM_DEVICE #cmakedefine _LIBCPP_HAS_NO_LOCALIZATION -#cmakedefine _LIBCPP_HAS_NO_FSTREAM #cmakedefine _LIBCPP_HAS_NO_WIDE_CHARACTERS #cmakedefine01 _LIBCPP_ENABLE_ASSERTIONS_DEFAULT #cmakedefine _LIBCPP_ENABLE_DEBUG_MODE diff --git a/libcxx/include/filesystem b/libcxx/include/filesystem --- a/libcxx/include/filesystem +++ b/libcxx/include/filesystem @@ -457,7 +457,7 @@ // [fs.filesystem.syn] #include -#if defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if defined(_LIBCPP_HAS_NO_FILESYSTEM) # error "The library is not supported since libc++ has been configured without support for a filesystem." #endif diff --git a/libcxx/include/fstream b/libcxx/include/fstream --- a/libcxx/include/fstream +++ b/libcxx/include/fstream @@ -194,7 +194,7 @@ #include #include -#if !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if !defined(_LIBCPP_HAS_NO_FILESYSTEM) # include #endif @@ -209,7 +209,7 @@ # define _LIBCPP_HAS_NO_OFF_T_FUNCTIONS #endif -#if !defined(_LIBCPP_HAS_NO_FSTREAM) +#if !defined(_LIBCPP_HAS_NO_FILESYSTEM) _LIBCPP_BEGIN_NAMESPACE_STD @@ -245,7 +245,7 @@ _LIBCPP_INLINE_VISIBILITY basic_filebuf* open(const string& __s, ios_base::openmode __mode); -#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if _LIBCPP_STD_VER >= 17 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY basic_filebuf* open(const _VSTD_FS::path& __p, ios_base::openmode __mode) { return open(__p.c_str(), __mode); @@ -1168,7 +1168,7 @@ #endif _LIBCPP_INLINE_VISIBILITY explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in); -#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if _LIBCPP_STD_VER >= 17 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY explicit basic_ifstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in) : basic_ifstream(__p.c_str(), __mode) {} @@ -1189,7 +1189,7 @@ void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in); #endif void open(const string& __s, ios_base::openmode __mode = ios_base::in); -#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if _LIBCPP_STD_VER >= 17 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in) { @@ -1369,7 +1369,7 @@ _LIBCPP_INLINE_VISIBILITY explicit basic_ofstream(const string& __s, ios_base::openmode __mode = ios_base::out); -#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if _LIBCPP_STD_VER >= 17 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY explicit basic_ofstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out) : basic_ofstream(__p.c_str(), __mode) {} @@ -1392,7 +1392,7 @@ #endif void open(const string& __s, ios_base::openmode __mode = ios_base::out); -#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if _LIBCPP_STD_VER >= 17 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out) { return open(__p.c_str(), __mode); } @@ -1570,7 +1570,7 @@ _LIBCPP_INLINE_VISIBILITY explicit basic_fstream(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out); -#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if _LIBCPP_STD_VER >= 17 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY explicit basic_fstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in | ios_base::out) : basic_fstream(__p.c_str(), __mode) {} @@ -1595,7 +1595,7 @@ #endif _LIBCPP_HIDE_FROM_ABI void open(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out); -#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) +#if _LIBCPP_STD_VER >= 17 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in|ios_base::out) { return open(__p.c_str(), __mode); } @@ -1745,7 +1745,7 @@ _LIBCPP_END_NAMESPACE_STD -#endif // _LIBCPP_HAS_NO_FSTREAM +#endif // _LIBCPP_HAS_NO_FILESYSTEM _LIBCPP_POP_MACROS diff --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in --- a/libcxx/include/module.modulemap.in +++ b/libcxx/include/module.modulemap.in @@ -976,7 +976,7 @@ } module fstream { @requires_LIBCXX_ENABLE_LOCALIZATION@ - @requires_LIBCXX_ENABLE_FSTREAM@ + @requires_LIBCXX_ENABLE_FILESYSTEM@ header "fstream" export * } diff --git a/libcxx/src/ios.instantiations.cpp b/libcxx/src/ios.instantiations.cpp --- a/libcxx/src/ios.instantiations.cpp +++ b/libcxx/src/ios.instantiations.cpp @@ -37,7 +37,7 @@ template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS basic_ostringstream; template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS basic_istringstream; -#ifndef _LIBCPP_HAS_NO_FSTREAM +#ifndef _LIBCPP_HAS_NO_FILESYSTEM template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS basic_ifstream; template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS basic_ofstream; template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS basic_filebuf; diff --git a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_bidirectional_iterator.compile.pass.cpp b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_bidirectional_iterator.compile.pass.cpp --- a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_bidirectional_iterator.compile.pass.cpp +++ b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_bidirectional_iterator.compile.pass.cpp @@ -20,7 +20,7 @@ #include #include -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM #include #endif #include @@ -61,7 +61,7 @@ static_assert(std::__iterator_traits_detail::__cpp17_bidirectional_iterator::const_reverse_iterator>); // -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM static_assert(!std::__iterator_traits_detail::__cpp17_bidirectional_iterator); static_assert(!std::__iterator_traits_detail::__cpp17_bidirectional_iterator); #endif diff --git a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_forward_iterator.compile.pass.cpp b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_forward_iterator.compile.pass.cpp --- a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_forward_iterator.compile.pass.cpp +++ b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_forward_iterator.compile.pass.cpp @@ -20,7 +20,7 @@ #include #include -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM #include #endif #include @@ -61,7 +61,7 @@ static_assert(std::__iterator_traits_detail::__cpp17_forward_iterator::const_reverse_iterator>); // -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM static_assert(!std::__iterator_traits_detail::__cpp17_forward_iterator); static_assert(!std::__iterator_traits_detail::__cpp17_forward_iterator); #endif diff --git a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_input_iterator.compile.pass.cpp b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_input_iterator.compile.pass.cpp --- a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_input_iterator.compile.pass.cpp +++ b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_input_iterator.compile.pass.cpp @@ -20,7 +20,7 @@ #include #include -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM #include #endif #include @@ -61,7 +61,7 @@ static_assert(std::__iterator_traits_detail::__cpp17_input_iterator::const_reverse_iterator>); // -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM static_assert(std::__iterator_traits_detail::__cpp17_input_iterator); static_assert(std::__iterator_traits_detail::__cpp17_input_iterator); #endif diff --git a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_iterator.compile.pass.cpp b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_iterator.compile.pass.cpp --- a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_iterator.compile.pass.cpp +++ b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_iterator.compile.pass.cpp @@ -20,7 +20,7 @@ #include #include -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM #include #endif #include @@ -61,7 +61,7 @@ static_assert(std::__iterator_traits_detail::__cpp17_iterator::const_reverse_iterator>); // -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM static_assert(std::__iterator_traits_detail::__cpp17_iterator); static_assert(std::__iterator_traits_detail::__cpp17_iterator); #endif diff --git a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_random_access_iterator.compile.pass.cpp b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_random_access_iterator.compile.pass.cpp --- a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_random_access_iterator.compile.pass.cpp +++ b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_random_access_iterator.compile.pass.cpp @@ -20,7 +20,7 @@ #include #include -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM #include #endif #include @@ -61,7 +61,7 @@ static_assert(std::__iterator_traits_detail::__cpp17_random_access_iterator::const_reverse_iterator>); // -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM static_assert(!std::__iterator_traits_detail::__cpp17_random_access_iterator); static_assert(!std::__iterator_traits_detail::__cpp17_random_access_iterator); #endif diff --git a/libcxx/test/std/input.output/file.streams/lit.local.cfg b/libcxx/test/std/input.output/file.streams/lit.local.cfg --- a/libcxx/test/std/input.output/file.streams/lit.local.cfg +++ b/libcxx/test/std/input.output/file.streams/lit.local.cfg @@ -2,5 +2,5 @@ if "no-localization" in config.available_features: config.unsupported = True -if "no-fstream" in config.available_features: +if "no-filesystem" in config.available_features: config.unsupported = True diff --git a/libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/xsputn.PR14074.pass.cpp b/libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/xsputn.PR14074.pass.cpp --- a/libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/xsputn.PR14074.pass.cpp +++ b/libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/xsputn.PR14074.pass.cpp @@ -17,7 +17,7 @@ // basic_streambuf, but I can't seem to reproduce without going through one // of its derived classes. -// UNSUPPORTED: no-fstream +// UNSUPPORTED: no-filesystem #include #include diff --git a/libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp b/libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp --- a/libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp +++ b/libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp @@ -40,7 +40,7 @@ # include #endif -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM # include #endif @@ -156,7 +156,7 @@ static_assert(testConst()); #endif // !TEST_HAS_NO_LOCALIZATION -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM static_assert(test()); static_assert(test in this test. -// XFAIL: no-fstream +// XFAIL: no-filesystem #include #include diff --git a/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp b/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp --- a/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp +++ b/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp @@ -42,7 +42,7 @@ #include "test_macros.h" #include "min_allocator.h" -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM # include #endif #ifndef TEST_HAS_NO_LOCALIZATION @@ -182,7 +182,7 @@ assert_is_not_formattable, CharT>(); assert_is_not_formattable, CharT>(); assert_is_not_formattable(); -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM assert_is_not_formattable(); #endif assert_is_not_formattable, CharT>(); diff --git a/libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.compile.pass.cpp b/libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.compile.pass.cpp --- a/libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.compile.pass.cpp +++ b/libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.compile.pass.cpp @@ -35,7 +35,7 @@ #include "test_macros.h" -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM # include #endif @@ -67,7 +67,7 @@ static_assert(std::ranges::input_range, "format_kind requires an input range"); static_assert(std::format_kind == std::range_format::disabled); -#ifndef TEST_HAS_NO_FILESYSTEM_LIBRARY +#ifndef TEST_HAS_NO_FILESYSTEM static_assert(std::format_kind == std::range_format::disabled); #endif diff --git a/libcxx/test/support/test_macros.h b/libcxx/test/support/test_macros.h --- a/libcxx/test/support/test_macros.h +++ b/libcxx/test/support/test_macros.h @@ -386,12 +386,8 @@ # define TEST_HAS_NO_THREADS #endif -#if defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) -# define TEST_HAS_NO_FILESYSTEM_LIBRARY -#endif - -#if defined(_LIBCPP_HAS_NO_FSTREAM) -# define TEST_HAS_NO_FSTREAM +#if defined(_LIBCPP_HAS_NO_FILESYSTEM) +# define TEST_HAS_NO_FILESYSTEM #endif #if defined(_LIBCPP_HAS_NO_FGETPOS_FSETPOS) diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -575,24 +575,6 @@ limit: 2 timeout_in_minutes: 120 - - label: "No fstream" - command: "libcxx/utils/ci/run-buildbot generic-no-fstream" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - ENABLE_CLANG_TIDY: "On" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - label: "No locale" command: "libcxx/utils/ci/run-buildbot generic-no-localization" artifact_paths: diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -418,11 +418,6 @@ generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-random_device.cmake" check-runtimes ;; -generic-no-fstream) - clean - generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-fstream.cmake" - check-runtimes -;; generic-no-localization) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-localization.cmake" diff --git a/libcxx/utils/libcxx/test/features.py b/libcxx/utils/libcxx/test/features.py --- a/libcxx/utils/libcxx/test/features.py +++ b/libcxx/utils/libcxx/test/features.py @@ -333,10 +333,9 @@ "_LIBCPP_HAS_THREAD_API_PTHREAD": "libcpp-has-thread-api-pthread", "_LIBCPP_NO_VCRUNTIME": "libcpp-no-vcruntime", "_LIBCPP_ABI_VERSION": "libcpp-abi-version", - "_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY": "no-filesystem", + "_LIBCPP_HAS_NO_FILESYSTEM": "no-filesystem", "_LIBCPP_HAS_NO_RANDOM_DEVICE": "no-random-device", "_LIBCPP_HAS_NO_LOCALIZATION": "no-localization", - "_LIBCPP_HAS_NO_FSTREAM": "no-fstream", "_LIBCPP_HAS_NO_WIDE_CHARACTERS": "no-wide-characters", "_LIBCPP_HAS_NO_UNICODE": "libcpp-has-no-unicode", "_LIBCPP_ENABLE_DEBUG_MODE": "libcpp-has-debug-mode", diff --git a/libcxx/utils/libcxx/test/header_information.py b/libcxx/utils/libcxx/test/header_information.py --- a/libcxx/utils/libcxx/test/header_information.py +++ b/libcxx/utils/libcxx/test/header_information.py @@ -36,7 +36,7 @@ "experimental/utility": "// UNSUPPORTED: c++03", "experimental/vector": "// UNSUPPORTED: c++03", "filesystem": "// UNSUPPORTED: no-filesystem, c++03, c++11, c++14", - "fstream": "// UNSUPPORTED: no-localization, no-fstream", + "fstream": "// UNSUPPORTED: no-localization, no-filesystem", "future": "// UNSUPPORTED: no-threads, c++03", "iomanip": "// UNSUPPORTED: no-localization", "ios": "// UNSUPPORTED: no-localization",