[libcxx-commits] [PATCH] D132081: [libc++] Remove __deque_base
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Aug 18 09:20:05 PDT 2022
ldionne requested changes to this revision.
ldionne added a comment.
This revision now requires changes to proceed.
Looks mostly good, but I'd like to see it again before it goes in.
================
Comment at: libcxx/include/deque:1028
+ struct _ConstructTransaction {
+ _ConstructTransaction(deque* __db, __deque_block_range& __r)
+ : __pos_(__r.__begin_), __end_(__r.__end_), __begin_(__r.__begin_), __base_(__db) {}
----------------
We need to spam `_LIBCPP_HIDE_FROM_ABI` here and in other places. Fine to do in a follow-up.
================
Comment at: libcxx/include/deque:1046-1048
+ size_type __start_ = 0;
+ __compressed_pair<size_type, allocator_type> __size_ =
+ __compressed_pair<size_type, allocator_type>(0, __default_init_tag());
----------------
I would not use default member initalizers because that is a potential change in semantics. I'd be fine with the change if it were done in its separate patch where we can focus on the potential effects of it.
In particular, undoing this should force you to really "copy" the definition of the various `__deque_base` constructors, which I can see have changed in the current version of the patch.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132081/new/
https://reviews.llvm.org/D132081
More information about the libcxx-commits
mailing list