[libcxx-commits] [libcxx] [libc++] Remove the inline namespace for std::filesystem in ABIv2 (PR #92971)
via libcxx-commits
libcxx-commits at lists.llvm.org
Tue May 21 16:08:32 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Nikolas Klauser (philnik777)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/92971.diff
1 Files Affected:
- (modified) libcxx/include/__config (+8)
``````````diff
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 104a244cc82cc..b2f0a50cf787a 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -166,6 +166,8 @@
// requires code not to make these assumptions.
# define _LIBCPP_ABI_USE_WRAP_ITER_IN_STD_ARRAY
# define _LIBCPP_ABI_USE_WRAP_ITER_IN_STD_STRING_VIEW
+// Dont' add an inline namespace for `std::filesystem`
+# define _LIBCPP_ABI_NO_FILESYSTEM_INLINE_NAMESPACE
# elif _LIBCPP_ABI_VERSION == 1
# if !(defined(_LIBCPP_OBJECT_FORMAT_COFF) || defined(_LIBCPP_OBJECT_FORMAT_XCOFF))
// Enable compiling copies of now inline methods into the dylib to support
@@ -831,10 +833,16 @@ typedef __char32_t char32_t;
inline namespace _LIBCPP_ABI_NAMESPACE {
# define _LIBCPP_END_NAMESPACE_STD }} _LIBCPP_POP_EXTENSION_DIAGNOSTICS
+#ifdef _LIBCPP_ABI_NO_FILESYSTEM_INLINE_NAMESPACE
+# define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM _LIBCPP_BEGIN_NAMESPACE_STD namespace filesystem {
+# define _LIBCPP_END_NAMESPACE_FILESYSTEM } _LIBCPP_END_NAMESPACE_STD
+#else
# define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM _LIBCPP_BEGIN_NAMESPACE_STD \
inline namespace __fs { namespace filesystem {
# define _LIBCPP_END_NAMESPACE_FILESYSTEM }} _LIBCPP_END_NAMESPACE_STD
+#endif
+
// clang-format on
# if __has_attribute(__enable_if__)
``````````
</details>
https://github.com/llvm/llvm-project/pull/92971
More information about the libcxx-commits
mailing list