[PATCH] D48342: [libcxx] Optimize vectors construction of trivial types from an iterator range with const-ness mismatch.
Volodymyr Sapsai via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 28 17:24:31 PDT 2018
vsapsai updated this revision to Diff 153430.
vsapsai added a comment.
Herald added a subscriber: dexonsmith.
- Don't check `!__has_construct` for `__construct_range_forward`.
Incompatible types will cause a lack of `construct` but it doesn't mean we
should use memcpy instead. And missing `_Alloc::construct` doesn't mean
`alloc_traits::construct` will fail, so falling back on memcpy can be
premature.
https://reviews.llvm.org/D48342
Files:
libcxx/include/memory
libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_different_value_type.pass.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48342.153430.patch
Type: text/x-patch
Size: 12488 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180629/215684b4/attachment-0001.bin>
More information about the cfe-commits
mailing list