Skip to content

Commit a976380

Browse files
Retarget LLVM22
1 parent ad7ff04 commit a976380

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

libcxx/docs/ReleaseNotes/21.rst

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -148,14 +148,6 @@ ABI Affecting Changes
148148
comparison between shared libraries, since all RTTI has the correct visibility now. There is no behaviour change on
149149
Clang.
150150

151-
- The ``const_iterator`` member type of ``std::deque`` is now corrected to hold a (possibly fancy) pointer to the
152-
(possibly fancy) pointer allocated in the internal map. E.g. when the allocators use fancy pointers, the internal map
153-
stores ``fancy_ptr<T>`` objects, and the previous strategy accessed these objects via ``const fancy_ptr<const T>``
154-
lvalues, which usually caused core language undefined behavior. Now ``const_iterator`` stores
155-
``fancy_ptr<const fancy_ptr<T>>`` instead of ``fancy_ptr<const fancy_ptr<const T>>``, and ABI break can happen when
156-
such two types have incompatible layouts. This is necessary for reducing undefined behavior and ``constexpr`` support
157-
for ``deque`` in C++26, so we do not provide any way to opt-out of that behavior.
158-
159151

160152
Build System Changes
161153
--------------------

libcxx/docs/ReleaseNotes/22.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,13 @@ Announcements About Future Releases
5858
ABI Affecting Changes
5959
---------------------
6060

61+
- The ``const_iterator`` member type of ``std::deque`` is now corrected to hold a (possibly fancy) pointer to the
62+
(possibly fancy) pointer allocated in the internal map. E.g. when the allocators use fancy pointers, the internal map
63+
stores ``fancy_ptr<T>`` objects, and the previous strategy accessed these objects via ``const fancy_ptr<const T>``
64+
lvalues, which usually caused core language undefined behavior. Now ``const_iterator`` stores
65+
``fancy_ptr<const fancy_ptr<T>>`` instead of ``fancy_ptr<const fancy_ptr<const T>>``, and ABI break can happen when
66+
such two types have incompatible layouts. This is necessary for reducing undefined behavior and ``constexpr`` support
67+
for ``deque`` in C++26, so we do not provide any way to opt-out of that behavior.
68+
6169
Build System Changes
6270
--------------------

0 commit comments

Comments
 (0)