[libcxx-commits] [libcxx] [libc++] Removes the _LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT macro. (PR #135494)
via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Apr 12 06:34:15 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Mark de Wever (mordante)
<details>
<summary>Changes</summary>
This makes __libcpp_verbose_abort unconditionally noexcept. This was planned for the upcomming release.
---
Full diff: https://github.com/llvm/llvm-project/pull/135494.diff
2 Files Affected:
- (modified) libcxx/docs/ReleaseNotes/21.rst (+3-3)
- (modified) libcxx/include/__verbose_abort (+1-7)
``````````diff
diff --git a/libcxx/docs/ReleaseNotes/21.rst b/libcxx/docs/ReleaseNotes/21.rst
index a8f20ed0abaf0..de92eeeaaa7dd 100644
--- a/libcxx/docs/ReleaseNotes/21.rst
+++ b/libcxx/docs/ReleaseNotes/21.rst
@@ -70,6 +70,9 @@ Deprecations and Removals
- ``std::is_trivial`` and ``std::is_trivial_v`` are deprecated in C++26 and later.
+- The ``_LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT`` has been removed, making ``std::__libcpp_verbose_abort``
+ unconditionally ``noexcept``.
+
Potentially breaking changes
----------------------------
@@ -91,9 +94,6 @@ LLVM 21
If you are using C++03 in your project, you should consider moving to a newer version of the Standard to get the most
out of libc++.
-- The ``_LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT`` macro will be removed in LLVM 21, making ``std::__libcpp_verbose_abort``
- unconditionally ``noexcept``.
-
- Non-conforming extension ``packaged_task::result_type`` will be removed in LLVM 21.
LLVM 22
diff --git a/libcxx/include/__verbose_abort b/libcxx/include/__verbose_abort
index 2d45cd0eb7f5d..f8b696733e2b3 100644
--- a/libcxx/include/__verbose_abort
+++ b/libcxx/include/__verbose_abort
@@ -18,16 +18,10 @@
_LIBCPP_BEGIN_NAMESPACE_STD
-#if defined(_LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT)
-# define _LIBCPP_VERBOSE_ABORT_NOEXCEPT
-#else
-# define _LIBCPP_VERBOSE_ABORT_NOEXCEPT _NOEXCEPT
-#endif
-
// This function should never be called directly from the code -- it should only be called through
// the _LIBCPP_VERBOSE_ABORT macro.
[[__noreturn__]] _LIBCPP_AVAILABILITY_VERBOSE_ABORT _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_ATTRIBUTE_FORMAT(
- __printf__, 1, 2) void __libcpp_verbose_abort(const char* __format, ...) _LIBCPP_VERBOSE_ABORT_NOEXCEPT;
+ __printf__, 1, 2) void __libcpp_verbose_abort(const char* __format, ...) _NOEXCEPT;
// _LIBCPP_VERBOSE_ABORT(format, args...)
//
``````````
</details>
https://github.com/llvm/llvm-project/pull/135494
More information about the libcxx-commits
mailing list