| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 273035
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the completed std::experimental::filesystem implementation and tests.
The implementation supports C++11 or newer.
The TS is built as part of 'libc++experimental.a'. Users of the TS need to
manually link this library. Building and testing the TS can be disabled using
the CMake option '-DLIBCXX_ENABLE_FILESYSTEM=OFF'.
Currently 'libc++experimental.a' is not installed by default. To turn on the
installation of the library use '-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON'.
llvm-svn: 273034
|
|
|
|
|
|
| |
warnings enabled
llvm-svn: 272822
|
|
|
|
|
|
| |
errors
llvm-svn: 272809
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
moving immovable types.
Summary:
In test/support/test_allocator.h, fix construct() to avoid moving immovable types.
This improves the allocator's conformance, and fixes compiler errors with MSVC's STL. The scenario is when the allocator is asked to construct an object of type X that's immovable (deleted copy/move ctors), but implicitly constructible from an argument type A. When perfectly forwarded, X can be (explicitly) constructed from A, and everything is fine. That's std::allocator's behavior, and the Standard's default when a user allocator's construct() doesn't exist. The previous implementation of construct() here mishandled this scenario. Passing A to this construct() would implicitly construct an X temporary, bound to (non-templated) T&&. Then construct() would attempt to move-construct X from that X temporary, but X is immovable, boom.
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D21094
llvm-svn: 272747
|
|
|
|
| |
llvm-svn: 272746
|
|
|
|
| |
llvm-svn: 272745
|
|
|
|
| |
llvm-svn: 272744
|
|
|
|
| |
llvm-svn: 272722
|
|
|
|
|
|
|
|
|
| |
TEST_STD_VER.
This is a huge cleanup that helps make the libc++ test suite more portable.
Patch from STL@microsoft.com. Thanks STL!
llvm-svn: 272716
|
|
|
|
| |
llvm-svn: 272679
|
|
|
|
| |
llvm-svn: 272642
|
|
|
|
| |
llvm-svn: 272639
|
|
|
|
| |
llvm-svn: 272638
|
|
|
|
| |
llvm-svn: 272637
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch implements the variadic `lock_guard` paper.
Making `lock_guard` variadic is a ABI breaking change because the specialization `lock_guard<_Mutex>` mangles differently then when it was the primary template. This change only provides variadic `lock_guard` in ABI V2 or when `_LIBCPP_ABI_VARIADIC_LOCK_GUARD` is defined.
Note that in ABI V2 `lock_guard` must always be declared as a variadic template, even in C++03, in order to keep the ABI consistent. For this reason `lock_guard` is forward declared as a variadic template in all standard dialects and therefore depends on variadic templates being provided as an extension in C++03. All supported versions of Clang and GCC provide this extension.
Reviewers: mclow.lists
Subscribers: K-ballo, mclow.lists, cfe-commits
Differential Revision: http://reviews.llvm.org/D21260
llvm-svn: 272634
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
system_error::message() uses `strerror` for the generic and system categories. This function is not thread safe.
The fix is to use `strerror_r`. It has been available since 2001 for GNU libc and since BSD 4.4 on FreeBSD/OS X.
On platforms with GNU libc the extended version is used which always returns a valid string, even if an error occurs.
In single-threaded builds `strerror` is still used.
See https://llvm.org/bugs/show_bug.cgi?id=25598
Reviewers: majnemer, mclow.lists
Subscribers: erik65536, cfe-commits, emaste
Differential Revision: http://reviews.llvm.org/D20903
llvm-svn: 272633
|
|
|
|
| |
llvm-svn: 272632
|
|
|
|
| |
llvm-svn: 272629
|
|
|
|
| |
llvm-svn: 272622
|
|
|
|
| |
llvm-svn: 272621
|
|
|
|
| |
llvm-svn: 272620
|
|
|
|
| |
llvm-svn: 272619
|
|
|
|
| |
llvm-svn: 272618
|
|
|
|
| |
llvm-svn: 272617
|
|
|
|
| |
llvm-svn: 272613
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
I haven't added it to all the tests, just those that fail without it
(those that aren't header only).
Reviewers: EricWF, mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D21247
llvm-svn: 272443
|
|
|
|
|
|
| |
actual comparison objects. No functional change.
llvm-svn: 272288
|
|
|
|
|
|
| |
for the patch.
llvm-svn: 272018
|
|
|
|
|
|
| |
warnings in the test suite. No functional change. Thanks to STL@microsoft for the report and patch.
llvm-svn: 271919
|
|
|
|
|
|
| |
chars. Thanks to STL@microsoft for the report.
llvm-svn: 271897
|
|
|
|
|
|
|
|
|
| |
Adds XFAIL/UNSUPPORTED lit tags as appropriate. Gets a clean test run
for -std=c++98 on Fedora 20.
NFC.
llvm-svn: 271741
|
|
|
|
| |
llvm-svn: 271502
|
|
|
|
| |
llvm-svn: 271501
|
|
|
|
| |
llvm-svn: 271489
|
|
|
|
| |
llvm-svn: 271487
|
|
|
|
| |
llvm-svn: 271475
|
|
|
|
| |
llvm-svn: 271473
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Exactly what it sounds like.
I plan to commit this in a couple of days assuming no objections.
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D20799
llvm-svn: 271464
|
|
|
|
|
|
| |
fails with ASAN
llvm-svn: 271459
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0033r1.html
Reviewers: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D19254
llvm-svn: 271449
|
|
|
|
| |
llvm-svn: 271435
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch addresses the following issues in the test suite:
1. Move "std::bad_array_length" test from std/ to libcxx/ test directory
since the feature is not a part of the standard.
2. Rename "futures.tas" test directory to "futures.task" since that is the
correct stable name.
3. Move tests for "packaged_task<T>::result_type" from std/ to libcxx/
test directory since the typedef is a libc++ extension.
llvm-svn: 271430
|
|
|
|
| |
llvm-svn: 271249
|
|
|
|
| |
llvm-svn: 271248
|
|
|
|
| |
llvm-svn: 271241
|
|
|
|
| |
llvm-svn: 271240
|
|
|
|
| |
llvm-svn: 271238
|
|
|
|
| |
llvm-svn: 271237
|
|
|
|
| |
llvm-svn: 271195
|