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.
 
 
 
 
Go to file
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
benchmarks [locale] Avoid copy of __atoms when char_type is char 9 years ago
cmake [libcxx][CMake] Add install path variable to allow overriding the destination 8 years ago
docs [libc++] class template -> template class. NFC 8 years ago
include Merging r315994: 8 years ago
lib Update ABI lists for 5.0 8 years ago
src Remove <__refstring> header; Move it into source directory. 8 years ago
test Merging r315994: 8 years ago
utils Fix issues with UBSAN test configuration. 8 years ago
www Merging r309296 and r309307: 8 years ago
.arcconfig Upgrade arcconfig to use https 9 years ago
.clang-format Make clang-format use C++03 syntax 9 years ago
.gitignore Implement N4606 optional 9 years ago
CMakeLists.txt Drop 'svn' suffix from version number. 8 years ago
CREDITS.TXT Updated email address in `CREDITS.txt`. 9 years ago
LICENSE.TXT Update year to 2017 9 years ago
NOTES.TXT Update doc and various cleanup 9 years ago
TODO.TXT Add list of filesystem NB comments to TODO.TXT so they can be tracked separately 9 years ago
appveyor-reqs-install.cmd Upgrade Clang version used by appveyor 9 years ago
appveyor.yml Rename Appveyor install helper script. 9 years ago

docs/README.txt

libc++ Documentation
====================

The libc++ documentation is written using the Sphinx documentation generator. It is
currently tested with Sphinx 1.1.3.

To build the documents into html configure libc++ with the following cmake options:

  * -DLLVM_ENABLE_SPHINX=ON
  * -DLIBCXX_INCLUDE_DOCS=ON

After configuring libc++ with these options the make rule `docs-libcxx-html`
should be available.