[libcxx-commits] [libcxx] [libc++][doc] Update the release notes for LLVM 20. (PR #124403)

Mark de Wever via libcxx-commits libcxx-commits at lists.llvm.org
Sun Jan 26 09:08:23 PST 2025


https://github.com/mordante updated https://github.com/llvm/llvm-project/pull/124403

>From b03e001b0715b984ff32cefdac71d96e0e6c2fe9 Mon Sep 17 00:00:00 2001
From: Mark de Wever <koraq at xs4all.nl>
Date: Sat, 25 Jan 2025 13:21:30 +0100
Subject: [PATCH 1/2] [libc++][doc] Update the release notes for LLVM 20.

This is a preparation for the upcoming LLVM 20 release.
---
 libcxx/docs/ReleaseNotes/20.rst | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/libcxx/docs/ReleaseNotes/20.rst b/libcxx/docs/ReleaseNotes/20.rst
index 2736061544c531..dd5d7f40c1bacd 100644
--- a/libcxx/docs/ReleaseNotes/20.rst
+++ b/libcxx/docs/ReleaseNotes/20.rst
@@ -35,6 +35,8 @@ see the `releases page <https://llvm.org/releases/>`_.
 What's New in Libc++ 20.0.0?
 ==============================
 
+The main focus of the libc++ team has been to implement new C++20, C++23, and C++26 features.
+
 Implemented Papers
 ------------------
 
@@ -111,6 +113,13 @@ Improvements and New Features
   std::errc::not_a_directory``, or use ``err.default_error_condition()`` to map to an ``error_condition``, and then test
   its ``value()`` and ``category()``.
 
+- ``std::stable_sort`` uses radix sort for integral types now, which can improve the performance up to 10 times, depending
+  on type of sorted elements and the initial state of the sorted array.
+
+- Reduced the amount of debug information generated for internal typedefs. This reduces the size of debug builds.
+
+- Added :ref:`hardening mode <hardening>` support for ``forward_list`` and ``bitset``.
+
 Deprecations and Removals
 -------------------------
 
@@ -196,8 +205,3 @@ ABI Affecting Changes
 
 - The localization support base API has been reimplemented, leading to different functions being exported from the
   libc++ built library on Windows and Windows-like platforms.
-
-Build System Changes
---------------------
-
-- TODO

>From aa2cbfedc781128c68991f864a2e6536a183f8ef Mon Sep 17 00:00:00 2001
From: Mark de Wever <koraq at xs4all.nl>
Date: Sun, 26 Jan 2025 18:07:48 +0100
Subject: [PATCH 2/2] Address review comment.

---
 libcxx/docs/ReleaseNotes/20.rst | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libcxx/docs/ReleaseNotes/20.rst b/libcxx/docs/ReleaseNotes/20.rst
index dd5d7f40c1bacd..c048475068f965 100644
--- a/libcxx/docs/ReleaseNotes/20.rst
+++ b/libcxx/docs/ReleaseNotes/20.rst
@@ -138,10 +138,10 @@ Deprecations and Removals
   supported as an extension anymore, please migrate any code that uses e.g. ``std::vector<const T>`` to be
   standards conforming.
 
-- Non-conforming member typedefs ``base``, ``iterator``, ``const_iterator``, and ``const_reference`` of ``std::bitset``,
-  and member typedef ``base`` of ``std::forward_list`` and ``std::list`` are removed. Previously, these member typedefs
-  (except ``const_reference``) were private but could cause ambiguity in name lookup. Code that expects such ambiguity
-  will possibly not compile in LLVM 20.
+- Non-conforming member typedefs ``base``, ``iterator``, ``const_iterator``, ``size_type``, ``difference_type``, and
+  ``const_reference`` of ``std::bitset``, and member typedef ``base`` of ``std::forward_list`` and ``std::list`` are
+  removed. Previously, these member typedefs (except ``const_reference``) were private but could cause ambiguity in name
+  lookup. Code that expects such ambiguity will possibly not compile in LLVM 20.
 
 - The function ``__libcpp_verbose_abort()`` is now ``noexcept``, to match ``std::terminate()``. (The combination of
   ``noexcept`` and ``[[noreturn]]`` has special significance for function effects analysis.) For backwards compatibility,



More information about the libcxx-commits mailing list