diff --git a/libcxx/include/initializer_list b/libcxx/include/initializer_list index 00e0d4ea4a2df..b66b734eb57f9 100644 --- a/libcxx/include/initializer_list +++ b/libcxx/include/initializer_list @@ -53,11 +53,10 @@ template const E* end(initializer_list il) noexcept; // constexpr in # pragma GCC system_header # endif -namespace std // purposefully not versioned -{ - # ifndef _LIBCPP_CXX03_LANG +_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD + template class _LIBCPP_NO_SPECIALIZATIONS initializer_list { const _Ep* __begin_; @@ -95,9 +94,9 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Ep* end(initia return __il.end(); } -# endif // !defined(_LIBCPP_CXX03_LANG) +_LIBCPP_END_UNVERSIONED_NAMESPACE_STD -} // namespace std +# endif // !defined(_LIBCPP_CXX03_LANG) # if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 # include diff --git a/libcxx/include/optional b/libcxx/include/optional index 2153efb2ab899..b60ddb91ce5d6 100644 --- a/libcxx/include/optional +++ b/libcxx/include/optional @@ -244,8 +244,8 @@ namespace std { _LIBCPP_PUSH_MACROS # include <__undef_macros> -namespace std // purposefully not using versioning namespace -{ +_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD +_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access : public exception { public: @@ -257,7 +257,8 @@ public: const char* what() const _NOEXCEPT override; }; -} // namespace std +_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS +_LIBCPP_END_UNVERSIONED_NAMESPACE_STD # if _LIBCPP_STD_VER >= 17 diff --git a/libcxx/include/stdexcept b/libcxx/include/stdexcept index 610b409132543..a2116c133ade3 100644 --- a/libcxx/include/stdexcept +++ b/libcxx/include/stdexcept @@ -73,8 +73,8 @@ public: _LIBCPP_END_NAMESPACE_STD -namespace std // purposefully not using versioning namespace -{ +_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD +_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS class _LIBCPP_EXPORTED_FROM_ABI logic_error : public exception { # ifndef _LIBCPP_ABI_VCRUNTIME @@ -207,7 +207,8 @@ public: # endif }; -} // namespace std +_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS +_LIBCPP_END_UNVERSIONED_NAMESPACE_STD _LIBCPP_BEGIN_NAMESPACE_STD diff --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo index 24aaabf0a87df..1f056d2e66bde 100644 --- a/libcxx/include/typeinfo +++ b/libcxx/include/typeinfo @@ -76,8 +76,8 @@ public: # include # else -namespace std // purposefully not using versioning namespace -{ +_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD +_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS # if defined(_LIBCPP_ABI_MICROSOFT) @@ -348,7 +348,8 @@ public: const char* what() const _NOEXCEPT override; }; -} // namespace std +_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS +_LIBCPP_END_UNVERSIONED_NAMESPACE_STD # endif // defined(_LIBCPP_ABI_VCRUNTIME)