[libcxx-commits] [libcxx] [libc++][NFC] Replace a few "namespace std" with the correct macro (PR #140510)
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Mon May 19 00:29:09 PDT 2025
https://github.com/philnik777 created https://github.com/llvm/llvm-project/pull/140510
We've added a new macro for the unversioned `namespace std` cases in #133009, but it seems we've missed a few places. This fixes the places I just found.
>From bac1cbfa3fa032447e88eaa11d01692ba8491672 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Mon, 19 May 2025 09:27:40 +0200
Subject: [PATCH] [libc++][NFC] Replace a few "namespace std" with the correct
macro
---
libcxx/include/initializer_list | 9 ++++-----
libcxx/include/optional | 7 ++++---
libcxx/include/stdexcept | 7 ++++---
libcxx/include/typeinfo | 7 ++++---
4 files changed, 16 insertions(+), 14 deletions(-)
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<class E> const E* end(initializer_list<E> 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 _Ep>
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 <cstddef>
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 <vcruntime_typeinfo.h>
# 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)
More information about the libcxx-commits
mailing list