You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libcxx/test/support
Tom Stellard 598ae4fa2e Merging r315994:
------------------------------------------------------------------------
r315994 | ericwf | 2017-10-17 06:03:17 -0700 (Tue, 17 Oct 2017) | 18 lines

[libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back.

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
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/release_50@318837 91177308-0d34-0410-b5e6-96231b3b80d8
8 years ago
..
test.support Implement P0513R0 - "Poisoning the Hash" 9 years ago
test.workarounds [test] Remove workaround for C1XX empty parameter pack bug 9 years ago
Counter.h Cleanup _LIBCPP_HAS_NO_<c++11-feature> in support headers and final tests 9 years ago
DefaultOnly.h Add license headers to a bunch of libc++ files that were missing them. No functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch. 12 years ago
MoveOnly.h Cleanup _LIBCPP_HAS_NO_<c++11-feature> in support headers and final tests 9 years ago
allocators.h Add some const_casts in places where we were implicitly casting away constness. No functional change, but now they're explicit 9 years ago
any_helpers.h Update issue status for LWG 2744 9 years ago
archetypes.hpp [test] support machinery changes for EDG & C1XX /Za 9 years ago
archetypes.ipp [test] support machinery changes for EDG & C1XX /Za 9 years ago
asan_testing.h Remove trailing whitespace in test suite. Approved by Marshall Clow. 10 years ago
assert_checkpoint.h Add checkpoint diagnostics to help diagnose buildbot failures. 9 years ago
cmpxchg_loop.h Add missing license headers 10 years ago
constexpr_char_traits.hpp [libc++] Fix PR 31938 - std::basic_string constructors use non-deductible parameter types. 9 years ago
container_test_types.h Merging r315994: 8 years ago
controlled_allocators.hpp [libcxx] [test] Fix comment typos, strip trailing whitespace. 9 years ago
coroutine_types.h [coroutines] Add end-to-end tests within libc++ 9 years ago
count_new.hpp Attempt to avoid static init ordering issues with globalMemCounter 8 years ago
counting_predicates.hpp Remove trailing whitespace in test suite. Approved by Marshall Clow. 10 years ago
debug_mode_helper.h Get more std::string _LIBCPP_DEBUG tests passing 9 years ago
deleter_types.h Overhaul unique_ptr - Implement LWG 2801, 2905, 2520. 9 years ago
demangle.h Fix demangle helper after r286788 9 years ago
disable_missing_braces_warning.h Get all tuple tests passing on Windows 9 years ago
emplace_constructible.h Merging r315994: 8 years ago
experimental_any_helpers.h any: Add availability for experimental::bad_any_cast 9 years ago
external_threads.cpp [libc++] Cleanup and document <__threading_support> 9 years ago
filesystem_dynamic_test_helper.py Fix misspelling of environment throughout libc++ 9 years ago
filesystem_test_helper.hpp Fix misspelling of environment throughout libc++ 9 years ago
hexfloat.h Don't use std::__clz in 'test/support/hexfloat.h'. 10 years ago
is_transparent.h Fix bug 33389 - __is_transparent check requires too much 9 years ago
min_allocator.h Implement P0513R0 - "Poisoning the Hash" 9 years ago
msvc_stdlib_force_include.hpp [libcxx] [test] Update locale names for Windows. 9 years ago
nasty_containers.hpp Cleanup _LIBCPP_HAS_NO_<c++11-feature> in support headers and final tests 9 years ago
nasty_macros.hpp Guard against more macros in tchar.h 9 years ago
nothing_to_do.pass.cpp test commit 11 years ago
platform_support.h [libcxx] [test] Update locale names for Windows. 9 years ago
poisoned_hash_helper.hpp [test] Remove workaround for C1XX conversion-to-nullptr bug 9 years ago
private_constructor.hpp Add license headers to a bunch of libc++ files that were missing them. No functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch. 12 years ago
propagate_const_helpers.h Implement std::experimental::propagate_const from LFTS v2 10 years ago
rapid-cxx-test.hpp Add Filesystem TS -- Complete 10 years ago
set_windows_crt_report_mode.h [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug mode 9 years ago
test_allocator.h Fix undefined behavior in container swap tests. 9 years ago
test_convertible.hpp Add Filesystem TS -- Complete 10 years ago
test_iterators.h Make next/prev/advance/distance operations on iterators be constexpr. I missed this when I implemented the rest of P0031R0 9 years ago
test_macros.h Add case for c++2a to libc++ and test macros 8 years ago
test_memory_resource.hpp [libcxx] [test] Fix comment typos, strip trailing whitespace. 9 years ago
test_workarounds.h [test] Remove workaround for C1XX empty parameter pack bug 9 years ago
tracked_value.h Cleanup _LIBCPP_HAS_NO_<c++11-feature> in support headers and final tests 9 years ago
type_id.h Refactor uses_allocator test types for upcoming fixes 9 years ago
unique_ptr_test_helper.h Simplify test helper 9 years ago
user_defined_integral.hpp Add missing license headers 10 years ago
uses_alloc_types.hpp [test] Remove workaround for C1XX empty parameter pack bug 9 years ago
variant_test_helpers.hpp [test] Test changes to accommodate LWG 2904 "Make variant move-assignment more exception safe" 9 years ago