From f10804ef995f77ad03a8093fc138d6b03ac5afce Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 15 Jan 2025 15:21:44 -0500 Subject: [PATCH] [libc++] Clarify the release note for uncaught_exception removal and deprecation --- libcxx/docs/ReleaseNotes/20.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libcxx/docs/ReleaseNotes/20.rst b/libcxx/docs/ReleaseNotes/20.rst index be330a9afc331..2736061544c53 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``), 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``), and up to 3.4x for non-trivial element types (e.g., ``std::vector>``). -- 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``, 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``, and up to 2.3x for ``std::vector>``. - On Windows, ````'s ``std::system_category`` is now distinct from ``std::generic_category``. The behavior