Skip to content

Conversation

@mordante
Copy link
Member

This is a preparation for the upcoming LLVM 20 release.

This is a preparation for the upcoming LLVM 20 release.
@mordante mordante requested a review from a team as a code owner January 25, 2025 12:42
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Jan 25, 2025
@llvmbot
Copy link
Member

llvmbot commented Jan 25, 2025

@llvm/pr-subscribers-libcxx

Author: Mark de Wever (mordante)

Changes

This is a preparation for the upcoming LLVM 20 release.


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

1 Files Affected:

  • (modified) libcxx/docs/ReleaseNotes/20.rst (+9-5)
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

@mordante
Copy link
Member Author

@winner245 since you did several patches recently feel free to suggest additions/changes.

@h-vetinari
Copy link
Contributor

W.r.t.

- P0429R9: A Standard ``flat_map`` is partially implemented and ``flat_map`` is provided (`Github <https://github.com/llvm/llvm-project/issues/105190>`__)

I believe the remaining bits were fully implemented by def50f7, including the FTM

Copy link
Contributor

@Zingam Zingam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! LGTM! With the suggested change above: #124403 (comment)

P0429R9 - A Standard flat_map

It looks like line 55 in libcxx/docs/Status/Cxx23Papers.csv needs to be updated to include the LLVM version too:

image

Copy link
Member

@ldionne ldionne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot!

@ldionne ldionne merged commit 08a18ef into llvm:main Jan 27, 2025
12 of 16 checks passed
@mordante mordante deleted the review/release_notes branch February 3, 2025 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants