[libcxx-commits] [libcxx] Lower std::string's alignment requirement from 16 to 8. (PR #68807)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Oct 12 16:09:37 PDT 2023
================
@@ -133,6 +133,13 @@ ABI Affecting Changes
results in an ABI break, however in practice we expect uses of ``std::projected`` in ABI-sensitive places to be
extremely rare. Any error resulting from this change should result in a link-time error.
+- Under the unstable ABI, the internal alignment requirements for heap allocations
+ inside std::string has decreased from 16 to 8 This save memory since string requests fewer additional
+ bytes than it did previously. However, this also changes the return value of std::string::max_length
+ and can cause code compiled against older libc++ versions but linked at runtime to a new version
+ to thrown a different exception when attempting allocations that are too large
----------------
ldionne wrote:
```suggestion
to throw a different exception when attempting allocations that are too large
```
https://github.com/llvm/llvm-project/pull/68807
More information about the libcxx-commits
mailing list