[libcxx-commits] [libcxx] Make __libcpp_verbose_abort() noexcept like std::terminate() (PR #109151)

via libcxx-commits libcxx-commits at lists.llvm.org
Wed Sep 18 07:53:56 PDT 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libcxx

Author: Doug Wyatt (dougsonos)

<details>
<summary>Changes</summary>

Make __libcpp_verbose_abort() noexcept (it is already noreturn), to match std::terminate(). Clang's function effect analysis can use this to ignore such functions as being beyond its scope. (See https://github.com/llvm/llvm-project/pull/99656)

---
Full diff: https://github.com/llvm/llvm-project/pull/109151.diff


1 Files Affected:

- (modified) libcxx/include/__verbose_abort (+2-1) 


``````````diff
diff --git a/libcxx/include/__verbose_abort b/libcxx/include/__verbose_abort
index 244278aec652d2..45a0add493c17d 100644
--- a/libcxx/include/__verbose_abort
+++ b/libcxx/include/__verbose_abort
@@ -21,7 +21,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD
 // 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_ATTRIBUTE_FORMAT(__printf__, 1, 2) void __libcpp_verbose_abort(const char* __format, ...)
+_NOEXCEPT;
 
 // _LIBCPP_VERBOSE_ABORT(format, args...)
 //

``````````

</details>


https://github.com/llvm/llvm-project/pull/109151


More information about the libcxx-commits mailing list