diff --git a/libcxx/docs/ReleaseNotes/24.rst b/libcxx/docs/ReleaseNotes/24.rst index b060f1a3db4a..d71a24c66b0c 100644 --- a/libcxx/docs/ReleaseNotes/24.rst +++ b/libcxx/docs/ReleaseNotes/24.rst @@ -65,16 +65,17 @@ Potentially breaking changes Announcements About Future Releases ----------------------------------- +- ``std::allocator`` is trivially default constructible since LLVM 22. In LLVM 23 and LLVM 24, the + ``_LIBCPP_DEPRECATED_ABI_NON_TRIVIAL_ALLOCATOR`` macro was provided as an escape hatch to revert that change. + This escape hatch will be removed in LLVM 25 if there is no evidence of it being useful. + +- ``bitset::operator[]`` returns ``bool`` since LLVM 22, fixing a conformance bug. In LLVM 23 and LLVM 24, the + ``_LIBCPP_DEPRECATED_ABI_BITSET_CONST_SUBSCRIPT_RETURN_REF`` macro was provided as an escape hatch to revert + that change. This escape hatch will be removed in LLVM 25 if there is no evidence of it being useful. ABI Affecting Changes --------------------- -- TODO: ``std::allocator`` is trivially default constructible since LLVM 22. In LLVM 23, the ``_LIBCPP_DEPRECATED_ABI_NON_TRIVIAL_ALLOCATOR`` - macro was provided as an escape hatch, but it has been removed in LLVM 24 since there was no evidence of it being useful. - -- TODO: ``bitset::operator[]`` returns ``bool`` since LLVM 22, fixing a conformance bug. In LLVM 23, the ``_LIBCPP_DEPRECATED_ABI_BITSET_CONST_SUBSCRIPT_RETURN_REF`` - macro was provided as an escape hatch, but it has been removed in LLVM 24 since there was no evidence of it being useful. - Build System Changes -------------------- diff --git a/libcxx/include/__memory/allocator.h b/libcxx/include/__memory/allocator.h index 609b305a1250..dd8c8647c178 100644 --- a/libcxx/include/__memory/allocator.h +++ b/libcxx/include/__memory/allocator.h @@ -60,7 +60,7 @@ struct __non_trivially_default_constructible_if { template class allocator -// TODO(LLVM 24): Remove the opt-out +// TODO(LLVM 25): Remove the opt-out #ifdef _LIBCPP_DEPRECATED_ABI_NON_TRIVIAL_ALLOCATOR : __non_trivially_default_constructible_if::value, allocator<_Tp> > #endif diff --git a/libcxx/include/bitset b/libcxx/include/bitset index fd638daea8c7..3897a792d9a6 100644 --- a/libcxx/include/bitset +++ b/libcxx/include/bitset @@ -680,7 +680,7 @@ public: _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 bitset& flip(size_t __pos); // element access: - // TODO(LLVM 24): Remove the opt-out + // TODO(LLVM 25): Remove the opt-out # ifndef _LIBCPP_DEPRECATED_ABI_BITSET_CONST_SUBSCRIPT_RETURN_REF [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR bool operator[](size_t __p) const { _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__p < _Size, "bitset::operator[] index out of bounds");