[libcxx-commits] [libcxx] [libc++] Clarify the release note for uncaught_exception removal and deprecation (PR #123118)
via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jan 15 12:22:56 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Louis Dionne (ldionne)
<details>
<summary>Changes</summary>
The release note did not clearly mention that std::uncaught_exception had been removed in C++20.
---
Full diff: https://github.com/llvm/llvm-project/pull/123118.diff
1 Files Affected:
- (modified) libcxx/docs/ReleaseNotes/20.rst (+6-5)
``````````diff
diff --git a/libcxx/docs/ReleaseNotes/20.rst b/libcxx/docs/ReleaseNotes/20.rst
index be330a9afc3310..2736061544c531 100644
--- a/libcxx/docs/ReleaseNotes/20.rst
+++ b/libcxx/docs/ReleaseNotes/20.rst
@@ -55,7 +55,8 @@ Improvements and New Features
- The ``_LIBCPP_ENABLE_CXX20_REMOVED_TEMPORARY_BUFFER`` macro has been added to make ``std::get_temporary_buffer`` and
``std::return_temporary_buffer`` available.
-- The ``_LIBCPP_ENABLE_CXX20_REMOVED_UNCAUGHT_EXCEPTION`` macro has been added to make ``std::uncaught_exception``
+- The ``std::uncaught_exception`` function was marked as deprecated since C++17 and removed since C++20. The
+ ``_LIBCPP_ENABLE_CXX20_REMOVED_UNCAUGHT_EXCEPTION`` macro has been added to make ``std::uncaught_exception``
available in C++20 and later modes.
- The internal structure ``__compressed_pair`` has been replaced with ``[[no_unique_address]]``, resulting in reduced
@@ -69,12 +70,12 @@ Improvements and New Features
- The ``_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY`` ABI configuration was added, which allows storing valid bounds
in ``std::array::iterator`` and detecting OOB accesses when the appropriate hardening mode is enabled.
-- The ``input_iterator``-pair overload of ``void assign(InputIt, InputIt)`` has been optimized for ``std::vector``,
- resulting in a performance improvement of up to 2x for trivial element types (e.g., ``std::vector<int>``), and up
+- The ``input_iterator``-pair overload of ``void assign(InputIt, InputIt)`` has been optimized for ``std::vector``,
+ resulting in a performance improvement of up to 2x for trivial element types (e.g., ``std::vector<int>``), and up
to 3.4x for non-trivial element types (e.g., ``std::vector<std::vector<int>>``).
-- The ``input_iterator``-pair overload of ``iterator insert(const_iterator, InputIt, InputIt)`` has been optimized
- for ``std::vector``, resulting in a performance improvement of up to 10x for ``std::vector<int>``, and up to 2.3x
+- The ``input_iterator``-pair overload of ``iterator insert(const_iterator, InputIt, InputIt)`` has been optimized
+ for ``std::vector``, resulting in a performance improvement of up to 10x for ``std::vector<int>``, and up to 2.3x
for ``std::vector<std::vector<int>>``.
- On Windows, ``<system_error>``'s ``std::system_category`` is now distinct from ``std::generic_category``. The behavior
``````````
</details>
https://github.com/llvm/llvm-project/pull/123118
More information about the libcxx-commits
mailing list