Howard Hinnant
|
23e470c348
|
Apply LWG 2017. This is a only a documentation change.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191140 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-21 17:58:58 +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
|
8127758024
|
David Chisnall: macro protect 'test' in __has_pointer_type_imp.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191126 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-21 01:45:05 +00:00 |
|
Howard Hinnant
|
ef5aa93b9c
|
G M: Restore the ability for libcxx to compile again on mingw 64.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190837 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-17 01:34:47 +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 |
|
Howard Hinnant
|
37c4acfe5e
|
G M: Make shared_ptr a little more gentle for some compilers. No impact on clang.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190732 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-13 23:56:00 +00:00 |
|
Howard Hinnant
|
d885143d5c
|
G M: Make valarray a little more forgiving to compilers not quite so gifted. This has no impact on clang.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190731 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-13 23:27:42 +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
|
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 |
|
Marshall Clow
|
599e60d2f7
|
Implement uses-allocator construction
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190571 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-12 02:11:16 +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
|
7f9f52e6c6
|
Adding bad_array_length to libc++
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190478 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-11 01:38:42 +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
|
e00f53bcfb
|
Update synopsis for list/forward_list/deque to match the allocator style of existing comment. No code change
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190320 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-09 18:19:45 +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
|
1b5f3adcef
|
Updated the synopsis for weak_ptr<T>::owner_before to match the code. No code changes.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189812 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-09-03 14:37:50 +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
|
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 |
|
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 |
|
Howard Hinnant
|
cb0e6b65a8
|
Xing Xue: Fix type-o. Thanks to C. Bergström for spotting it.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189674 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-30 14:42:39 +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 |
|
Howard Hinnant
|
161a9bf447
|
Glen: Remove unneeded _LIBCPP_ALWAYS_INLINE.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189626 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-29 23:50:48 +00:00 |
|
Howard Hinnant
|
5143722d14
|
Xing Xue: Some minor changes for IBM XLC++/AIX.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189623 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-29 23:37:50 +00:00 |
|
Howard Hinnant
|
04a2c71d67
|
Turn off extern templates for most uses. It is causing more problems than it is worth. The extern templates will still be built into the dylib, mainly for ABI stability purposes. And the client can still turn these back on with a #define if desire. This fixes http://llvm.org/bugs/show_bug.cgi?id=17027. However there's no associated test for the test suite because http://llvm.org/bugs/show_bug.cgi?id=17027 needs mismatched dylib and headers to fire.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189610 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-29 20:56:53 +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
|
e42f184a76
|
Update synopsis in <locale> to match LWG Issue 2229. No code change
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189352 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-27 14:22:13 +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
|
fc3f80badf
|
G M: Improve support for compilers not supporting defaulted functions.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189184 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-24 21:31:37 +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
|
5d5f9f9786
|
Remove _LIBCPP_DEBUG. This was my first attempt at debug mode for libc++, and is now obsoleted by _LIBCPP_DEBUG2 (which isn't finished).
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189135 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-23 19:03:36 +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
|
e31c432a33
|
Glen: replace obsolete _LIBCPP_CANTTHROW with _NOEXCEPT.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189046 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-22 19:39:03 +00:00 |
|
Howard Hinnant
|
9a894d93de
|
Zhihao Yuan noted that there were a few unneeded statements. Eliminated the unnecessary ones, and commented the ones that are there for non-obvious reasons such as to help things limp along in C++03 language mode.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189039 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-22 18:29:50 +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 |
|
Marshall Clow
|
5c316a6d04
|
LWG 2145 - mark constructor for std::error_category as inline and constexpr. Leave the (existing, out-of-line, non-constexpr) in the dylib for compatibility with existing programs)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188858 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-21 02:57:19 +00:00 |
|
Howard Hinnant
|
de8fc6b2b1
|
Relax complete-type check for functions and function pointers to allow void return type. This bug was exposed by Eli Friedman's commit to clang r188324. Anywhere this version of clang ships, this libc++ fix must follow. However this fix is compatible with previous clangs, and so this libc++ doesn't need to wait for this clang.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188413 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-14 21:28:31 +00:00 |
|
Howard Hinnant
|
7f76450ee9
|
Xing Xue: port to IBM XLC++/AIX.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188396 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-14 18:00:20 +00:00 |
|
Marshall Clow
|
2df3700879
|
Add a deleted assignment operator for basic_ostream; LWG Issue #2067
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188375 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-14 15:15:28 +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
|
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
|
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
|
0f678bd69e
|
Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188192 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-12 18:38:34 +00:00 |
|