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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
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