Skip to content

Add release note for #95264 #96116

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions libcxx/docs/ReleaseNotes/18.rst
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,16 @@ ABI Affecting Changes
done to fix `#70494 <https://github.com/llvm/llvm-project/issues/70494>`_ and the vendor communication is handled
in `#70820 <https://github.com/llvm/llvm-project/issues/70820>`_.

- LLVM 18.1.8 Fixed an issue that caused ``std::string`` to pass an incorrect size to ``allocator_traits::deallocate``
when deallocating memory. The impact is different depending on a few factors:

- Users who don't use a custom allocator in ``std::string`` and don't enable sized deallocation (which is
off by default in Clang 18) will not be affected. This is expected to be the vast majority of users.
- Users who don't use a custom allocator in ``std::string`` but are enabling sized deallocation (e.g. with
``-fsized-deallocation``) will notice that ``operator delete(void*, size_t)`` is now being passed the correct
size. This likely has no impact if they were not customizing ``operator delete``.
- Users who use a custom allocator in ``std::string`` will notice that they now get passed the correct allocation
size upon deallocation.

Build System Changes
--------------------
Expand Down
Loading