diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst --- a/libcxx/docs/ReleaseNotes.rst +++ b/libcxx/docs/ReleaseNotes.rst @@ -108,6 +108,7 @@ as either ``for (auto&& c : path)`` or ``for (const auto& c : path)``. ``std::reverse_iterator`` is no longer rejected. +- ``_VSTD`` is now an alias for ``std`` instead of ``std::_LIBCPP_ABI_NAMESPACE``. ABI Changes ----------- diff --git a/libcxx/include/__config b/libcxx/include/__config --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -819,10 +819,10 @@ // Inline namespaces are available in Clang/GCC/MSVC regardless of C++ dialect. #define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { inline namespace _LIBCPP_ABI_NAMESPACE { #define _LIBCPP_END_NAMESPACE_STD } } -#define _VSTD std::_LIBCPP_ABI_NAMESPACE +#define _VSTD std _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD -#if _LIBCPP_STD_VER >= 17 +#if _LIBCPP_STD_VER > 14 #define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM \ _LIBCPP_BEGIN_NAMESPACE_STD inline namespace __fs { namespace filesystem { #else diff --git a/libcxx/include/__format/format_arg.h b/libcxx/include/__format/format_arg.h --- a/libcxx/include/__format/format_arg.h +++ b/libcxx/include/__format/format_arg.h @@ -138,11 +138,11 @@ template _LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_FORMAT friend __format_arg_store<_Ctx, _Args...> - _VSTD::make_format_args(const _Args&...); + std::_LIBCPP_ABI_NAMESPACE::make_format_args(const _Args&...); template _LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_FORMAT friend decltype(auto) - _VSTD::visit_format_arg(_Visitor&& __vis, basic_format_arg<_Ctx> __arg); + std::_LIBCPP_ABI_NAMESPACE::visit_format_arg(_Visitor&& __vis, basic_format_arg<_Ctx> __arg); union { bool __boolean; diff --git a/libcxx/include/__format/format_context.h b/libcxx/include/__format/format_context.h --- a/libcxx/include/__format/format_context.h +++ b/libcxx/include/__format/format_context.h @@ -132,7 +132,7 @@ template friend _LIBCPP_HIDE_FROM_ABI basic_format_context<__OutIt, __CharT> - _VSTD::__format_context_create( + std::_LIBCPP_ABI_NAMESPACE::__format_context_create( __OutIt, basic_format_args>, optional<_VSTD::locale>&&);