Howard Hinnant
de589f2f8f
Peter Collingbourne: If a pointer is passed as the third argument of the (iterator,
...
iterator, allocator) constructor with the intention of it being
implicitly converted to the allocator type, it is possible for overload
resolution to favour the (iterator, iterator, enable_if) constructor.
Eliminate this possibility by moving the enable_if to one of the
existing arguments and removing the third argument.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191145 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-21 21:13:54 +00:00
Howard Hinnant
ba898e4208
N3659: Shared locking in C++ Revision 2, c++1y only
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191127 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-21 01:49:28 +00:00
Howard Hinnant
cd942f1840
Marshall Clow: LWG Issue 2056: future_errc enums start with value 0 (invalid value for broken_promise).
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190756 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-14 18:20:10 +00:00
Marshall Clow
a49a2c9deb
LWG Issue 2210 (Part #7 ): vector and vector<bool>
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190736 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-14 00:47:59 +00:00
Marshall Clow
27a1c252e3
Initial implementation of <dynarray>. No allocator support pending resolution of LWG #2235 ; no stack allocation pending compiler support
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190697 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-13 15:22:55 +00:00
Marshall Clow
f4107076e4
Test for 'bad_array_length'; got left out of initial commit
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190614 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-12 17:01:38 +00:00
Marshall Clow
6dff618d7d
LWG Issue 2210 (Part #6 ): unordered_map and unordered_multimap
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190576 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-12 03:00:31 +00:00
Howard Hinnant
f9d2680e19
A collection of minor type-o fixes. The first two aren't testable, but all tests pass with them. I stumbled across them while experimenting with a std::move that checks its argument for non-const. The third corrects a test that is currently failing.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190563 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-12 00:10:44 +00:00
Marshall Clow
49d596d412
LWG Issue #2210 Part 5 - map/multimap; no, really - the last one was set/multiset. THIS is map/multimap
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190474 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-11 01:15:47 +00:00
Marshall Clow
24a7e331f1
LWG Issue #2210 Part 4 - map/multimap
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190454 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-11 00:06:45 +00:00
Marshall Clow
6398343bfc
Remove a tab that snuck in
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190283 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-08 21:13:57 +00:00
Howard Hinnant
ac04e1f5bf
Fix minor type-o in tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190280 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-08 19:28:51 +00:00
Marshall Clow
955f2c88a1
LWG Issue 2210 (Part #2 & #3 ): list and forward_list
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190279 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-08 19:11:51 +00:00
Marshall Clow
ab04aadaf4
LWG Issue 2210 (Part #1 ): deque
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190251 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-07 16:16:19 +00:00
Marshall Clow
62f34be0ba
N3545: Quoted strings
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190032 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-05 04:48:45 +00:00
Marshall Clow
9e613ca1b3
LWG Issue 2148: Hashing Enums
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189831 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-03 17:55:32 +00:00
Marshall Clow
05fe12bc44
Eradicate tabs
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189808 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-03 14:14:27 +00:00
Howard Hinnant
01afa5c6e4
Implement N3672, optional<T>.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189772 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-02 20:30:37 +00:00
Howard Hinnant
8ecb95fdec
Forgot to svn add the test for r189722.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189723 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-31 17:03:02 +00:00
Howard Hinnant
713f4db2e5
SFINAE out duration converting constructor if the constructor would otherwise cause a ratio compile-time overflow. This fixes LWG 2094.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189722 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-31 16:51:56 +00:00
Daniel Dunbar
9e9d076879
[tests] Change with_system_lib feature to match what XFAIL lines expect.
...
- The lit builtin XFAIL handling is more restrictive than what we were
previously using, and for now I'd rather keep the lit one restrictive.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189692 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-30 19:52:12 +00:00
Howard Hinnant
d179407288
is_destructible for function types was mistakenly returning true instead of false. This is true in both C++11 and C++1y, but has been clarified by the post C++11 LWG issue 2049.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189687 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-30 19:12:42 +00:00
Marshall Clow
09da3c053c
LWG Issue 2128: Implement global cbegin/rbegin/cend/rbegin
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189634 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-30 01:17:07 +00:00
Marshall Clow
08b4f3f99b
LWG Issue 2162: mark allocator_traits::maxsize as noexcept
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189399 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 20:22:15 +00:00
Marshall Clow
83179a788f
LWG issues 2174/5/6 - mark wstring_convert::converted as noexcept, and make (some of) the constructors for wstring_convert and wbuffer_convert as explicit. Add configuration macro _LIBCPP_EXPLICIT_AFTER_CXX11
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189398 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 20:18:59 +00:00
Marshall Clow
af74651f61
Implement LWG issue 2061
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189345 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 13:03:03 +00:00
Howard Hinnant
e1c5f9ec1b
Apply constexpr to initializer_list for c++1y.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189271 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-26 20:11:32 +00:00
Howard Hinnant
5e57142c59
Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189140 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-23 20:10:18 +00:00
Howard Hinnant
499cea12bb
Debug mode for string. This commit also marks the first time libc++ debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189114 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-23 17:37:05 +00:00
Howard Hinnant
641d3d8b4c
XFAIL a few tests on darwin12
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189043 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 18:47:39 +00:00
Howard Hinnant
1c44f51de7
Zhihao Yuan noted that a move assignment operation was missing from std::adjacent_difference. Fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189036 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 18:02:34 +00:00
Howard Hinnant
8a1df3ca0c
David Blaikie suggested this test for detecting constexpr on the error_category default constructor. Additionally I decided to make this constructor trivial as well, as I could not come up with a rationale for not doing so. Fully tested with both current Apple clang and tip-of-trunk clang.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189034 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 17:41:48 +00:00
Howard Hinnant
d7cddf6519
XFAIL 3 tests on darwin 11-12. The tests have recently been modified, are correct, and pass with an updated libc++.dylib
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188964 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 00:04:22 +00:00
Daniel Dunbar
585b48ddf6
[tests] Update to use lit's now-integrated XFAIL handling.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188960 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 23:06:32 +00:00
Marshall Clow
198a2a59ee
Implement LWG Issue #2187 (emplace_back and emplace for vector<bool>)
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188333 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 23:54:12 +00:00
Marshall Clow
bf6eda0b1e
Eradicate tabs
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188322 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 22:22:40 +00:00
Marshall Clow
5cfc6ab2b8
Second half (map/multimap) of N3657
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188320 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 22:18:47 +00:00
Marshall Clow
8634fc5494
Added more tests for numeric conversion error handing; Refs LWG issue 2009
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188282 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 15:52:51 +00:00
Marshall Clow
7a4e374280
More support for N3657; tests for is_transparent
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188242 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 01:12:41 +00:00
Marshall Clow
4a0a98166c
First half of support for N3657; heterogenous lookups for set/multiset
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188241 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 01:11:06 +00:00
Howard Hinnant
80e19ac90f
Add a check for arrays of unknown bounds to is_destructible. This fixes http://llvm.org/bugs/show_bug.cgi?id=16839
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188080 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-09 16:53:45 +00:00
Daniel Dunbar
bd7b48a628
[tests] Update to use lit_config and lit package, as appropriate.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188073 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-09 14:44:11 +00:00
Marshall Clow
051c848e88
N3644 tests for map/multimap/set/multiset. Drive-by NOEXCEPT for __tree_const_iterator constructor. Fix comment typos in other tests
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188019 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-08 21:52:50 +00:00
Marshall Clow
193ef03eb5
N3644 support for <unordered_set> and <unordered_map>
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187915 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 21:30:44 +00:00
Marshall Clow
52ad482edc
N3644 support for vector<bool>
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187910 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 20:53:38 +00:00
Marshall Clow
0f164c9d75
N3644 support for <string> and <vector>
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187909 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 20:48:48 +00:00
Howard Hinnant
36ba399a33
Correct logic bug in find optimization for vector<bool>. This fixes http://llvm.org/bugs/show_bug.cgi?id=16816
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187908 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 20:42:16 +00:00
Howard Hinnant
ab61b2c9f1
War on tabs
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187906 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 19:39:48 +00:00
Howard Hinnant
f68b46f0c9
Rename time.duration.literals step 3
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187905 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 19:39:11 +00:00
Howard Hinnant
32c0969361
Rename time.duration.literals step 2
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187904 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 19:36:50 +00:00