[libcxx-commits] [libcxx] [libc++][NFC] Replace a few "namespace std" with the correct macro (PR #140510)
via libcxx-commits
libcxx-commits at lists.llvm.org
Fri May 23 13:56:54 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Nikolas Klauser (philnik777)
<details>
<summary>Changes</summary>
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.
---
Full diff: https://github.com/llvm/llvm-project/pull/140510.diff
4 Files Affected:
- (modified) libcxx/include/initializer_list (+4-5)
- (modified) libcxx/include/optional (+4-3)
- (modified) libcxx/include/stdexcept (+4-3)
- (modified) libcxx/include/typeinfo (+4-3)
``````````diff
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)
``````````
</details>
https://github.com/llvm/llvm-project/pull/140510
More information about the libcxx-commits
mailing list