![]() Summary: The constructors `vector(Iter, Iter, Alloc = Alloc{})` and `assign(Iter, Iter)` don't correctly perform EmplaceConstruction from the result of dereferencing the iterator. This results in them performing an additional and unneeded copy. This patch addresses the issue by correctly using `emplace_back` in C++11 and newer. There are also some bugs in our `insert` implementation, but those will be handled separately. @mclow.lists We should probably merge this into 5.1, agreed? Reviewers: mclow.lists, dlj, EricWF Reviewed By: mclow.lists, EricWF Subscribers: cfe-commits, mclow.lists Differential Revision: https://reviews.llvm.org/D38757 llvm-svn: 315994 |
||
---|---|---|
.. | ||
associative | ||
container.adaptors | ||
container.requirements | ||
containers.general | ||
sequences | ||
unord | ||
Copyable.h | ||
Emplaceable.h | ||
NotConstructible.h | ||
map_allocator_requirement_test_templates.h | ||
nothing_to_do.pass.cpp | ||
set_allocator_requirement_test_templates.h | ||
test_compare.h | ||
test_hash.h |