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.
Volodymyr Sapsai
354589c472
[libcxx] Optimize vectors construction of trivial types from an iterator range with const-ness mismatch.
...
We already have a specialization that will use memcpy for construction
of trivial types from an iterator range like
std::vector<int>(int *, int *);
But if we have const-ness mismatch like
std::vector<int>(const int *, const int *);
we would use a slow path that copies each element individually. This change
enables the optimal specialization for const-ness mismatch. Fixes PR37574.
Contributions to the patch are made by Arthur O'Dwyer, Louis Dionne.
rdar://problem/40485845
Reviewers: mclow.lists, EricWF, ldionne, scanon
Reviewed By: ldionne
Subscribers: christof, ldionne, howard.hinnant, cfe-commits
Differential Revision: https://reviews.llvm.org/D48342
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@350583 91177308-0d34-0410-b5e6-96231b3b80d8
7 years ago
..
assign_copy.pass.cpp
Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER.
10 years ago
assign_initializer_list.pass.cpp
Replace _LIBCPP_HAS_NO_<C++03 feature> with _LIBCPP_CXX03_LANG in vector.
9 years ago
assign_iter_iter.pass.cpp
[libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back.
8 years ago
assign_move.pass.cpp
Replace _LIBCPP_HAS_NO_<C++03 feature> with _LIBCPP_CXX03_LANG in vector.
9 years ago
assign_size_value.pass.cpp
Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER.
10 years ago
construct_default.pass.cpp
[libcxx] [test] Untabify, NFC.
8 years ago
construct_iter_iter.pass.cpp
[libcxx] Optimize vectors construction of trivial types from an iterator range with const-ness mismatch.
7 years ago
construct_iter_iter_alloc.pass.cpp
Get tests compiling with -Wunused-local-typedef
7 years ago
construct_size.pass.cpp
fix warnings only produced by apple-clang
9 years ago
construct_size_value.pass.cpp
[PATCH] D25483: [libcxx] [test] Fix non-Standard assumptions about how many elements are allocated
9 years ago
construct_size_value_alloc.pass.cpp
…
copy.pass.cpp
[libcxx] [test] D27269: Fix MSVC x64 warning C4267 "conversion from 'size_t' to 'int' [or 'unsigned int'], possible loss of data", part 3/4.
9 years ago
copy_alloc.pass.cpp
[libcxx] [test] D27269: Fix MSVC x64 warning C4267 "conversion from 'size_t' to 'int' [or 'unsigned int'], possible loss of data", part 3/4.
9 years ago
deduct.fail.cpp
[libcxx] [test] Strip trailing whitespace. NFC.
8 years ago
deduct.pass.cpp
[libcxx] [test] Strip trailing whitespace. NFC.
8 years ago
default.recursive.pass.cpp
…
default_noexcept.pass.cpp
Update a couple of vector<bool> tests that were testing libc++-specific bahavior. Thanks to Andrey Maksimov for the catch.
7 years ago
dtor_noexcept.pass.cpp
[libcxx] [test] Fix Clang -Wunused-local-typedef, part 1/3.
9 years ago
initializer_list.pass.cpp
Replace _LIBCPP_HAS_NO_<C++03 feature> with _LIBCPP_CXX03_LANG in vector.
9 years ago
initializer_list_alloc.pass.cpp
Replace _LIBCPP_HAS_NO_<C++03 feature> with _LIBCPP_CXX03_LANG in vector.
9 years ago
move.pass.cpp
Remove unused include of "verbose_assert.h"
7 years ago
move_alloc.pass.cpp
Replace _LIBCPP_HAS_NO_<C++03 feature> with _LIBCPP_CXX03_LANG in vector.
9 years ago
move_assign_noexcept.pass.cpp
Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER.
10 years ago
move_noexcept.pass.cpp
Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER.
10 years ago
op_equal_initializer_list.pass.cpp
Replace _LIBCPP_HAS_NO_<C++03 feature> with _LIBCPP_CXX03_LANG in vector.
9 years ago