Skip to content

Commit 08a18ef

Browse files
authored
[libc++][doc] Update the release notes for LLVM 20. (llvm#124403)
This is a preparation for the upcoming LLVM 20 release.
1 parent d732c86 commit 08a18ef

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

libcxx/docs/ReleaseNotes/20.rst

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ see the `releases page <https://llvm.org/releases/>`_.
3535
What's New in Libc++ 20.0.0?
3636
==============================
3737

38+
The main focus of the libc++ team has been to implement new C++20, C++23, and C++26 features.
39+
3840
Implemented Papers
3941
------------------
4042

@@ -44,7 +46,7 @@ Implemented Papers
4446
- P2985R0: A type trait for detecting virtual base classes (`Github <https://github.com/llvm/llvm-project/issues/105432>`__)
4547
- ``std::jthread`` and ``<stop_token>`` are not guarded behind ``-fexperimental-library`` anymore
4648
- P2674R1: A trait for implicit lifetime types (`Github <https://github.com/llvm/llvm-project/issues/105259>`__)
47-
- P0429R9: A Standard ``flat_map`` is partially implemented and ``flat_map`` is provided (`Github <https://github.com/llvm/llvm-project/issues/105190>`__)
49+
- P0429R9: A Standard ``flat_map`` (`Github <https://github.com/llvm/llvm-project/issues/105190>`__)
4850

4951
Improvements and New Features
5052
-----------------------------
@@ -111,6 +113,13 @@ Improvements and New Features
111113
std::errc::not_a_directory``, or use ``err.default_error_condition()`` to map to an ``error_condition``, and then test
112114
its ``value()`` and ``category()``.
113115

116+
- ``std::stable_sort`` uses radix sort for integral types now, which can improve the performance up to 10 times, depending
117+
on type of sorted elements and the initial state of the sorted array.
118+
119+
- Reduced the amount of debug information generated for internal typedefs. This reduces the size of debug builds.
120+
121+
- Added :ref:`hardening mode <hardening>` support for ``forward_list`` and ``bitset``.
122+
114123
Deprecations and Removals
115124
-------------------------
116125

@@ -129,10 +138,10 @@ Deprecations and Removals
129138
supported as an extension anymore, please migrate any code that uses e.g. ``std::vector<const T>`` to be
130139
standards conforming.
131140

132-
- Non-conforming member typedefs ``base``, ``iterator``, ``const_iterator``, and ``const_reference`` of ``std::bitset``,
133-
and member typedef ``base`` of ``std::forward_list`` and ``std::list`` are removed. Previously, these member typedefs
134-
(except ``const_reference``) were private but could cause ambiguity in name lookup. Code that expects such ambiguity
135-
will possibly not compile in LLVM 20.
141+
- Non-conforming member typedefs ``base``, ``iterator``, ``const_iterator``, ``size_type``, ``difference_type``, and
142+
``const_reference`` of ``std::bitset``, and member typedef ``base`` of ``std::forward_list`` and ``std::list`` are
143+
removed. Previously, these member typedefs (except ``const_reference``) were private but could cause ambiguity in name
144+
lookup. Code that expects such ambiguity will possibly not compile in LLVM 20.
136145

137146
- The function ``__libcpp_verbose_abort()`` is now ``noexcept``, to match ``std::terminate()``. (The combination of
138147
``noexcept`` and ``[[noreturn]]`` has special significance for function effects analysis.) For backwards compatibility,
@@ -196,8 +205,3 @@ ABI Affecting Changes
196205

197206
- The localization support base API has been reimplemented, leading to different functions being exported from the
198207
libc++ built library on Windows and Windows-like platforms.
199-
200-
Build System Changes
201-
--------------------
202-
203-
- TODO

libcxx/docs/Status/Cxx23Papers.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
"`P2443R1 <https://wg21.link/P2443R1>`__","``views::chunk_by``","2022-02 (Virtual)","|Complete|","18",""
5353
"","","","","",""
5454
"`P0009R18 <https://wg21.link/P0009R18>`__","mdspan: A Non-Owning Multidimensional Array Reference","2022-07 (Virtual)","|Complete|","18",""
55-
"`P0429R9 <https://wg21.link/P0429R9>`__","A Standard ``flat_map``","2022-07 (Virtual)","|Complete|","",""
55+
"`P0429R9 <https://wg21.link/P0429R9>`__","A Standard ``flat_map``","2022-07 (Virtual)","|Complete|","20",""
5656
"`P1169R4 <https://wg21.link/P1169R4>`__","``static operator()``","2022-07 (Virtual)","|Complete|","16",""
5757
"`P1222R4 <https://wg21.link/P1222R4>`__","A Standard ``flat_set``","2022-07 (Virtual)","","",""
5858
"`P1223R5 <https://wg21.link/P1223R5>`__","``ranges::find_last()``, ``ranges::find_last_if()``, and ``ranges::find_last_if_not()``","2022-07 (Virtual)","|Complete|","19",""

0 commit comments

Comments
 (0)