[libcxx-commits] [libcxx] df3ba91 - [libc++] Clarify the release note for uncaught_exception removal and deprecation (#123118)
via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Jan 16 07:42:23 PST 2025
Author: Louis Dionne
Date: 2025-01-16T10:42:18-05:00
New Revision: df3ba91d83f1363e80df30b5cc6b51fdb54996a4
URL: https://github.com/llvm/llvm-project/commit/df3ba91d83f1363e80df30b5cc6b51fdb54996a4
DIFF: https://github.com/llvm/llvm-project/commit/df3ba91d83f1363e80df30b5cc6b51fdb54996a4.diff
LOG: [libc++] Clarify the release note for uncaught_exception removal and deprecation (#123118)
The release note did not clearly mention that std::uncaught_exception
had been removed in C++20.
Added:
Modified:
libcxx/docs/ReleaseNotes/20.rst
Removed:
################################################################################
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
More information about the libcxx-commits
mailing list