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 |
|
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 |
|
Howard Hinnant
|
5ea5d31f6d
|
Partial implementation of N3665. This paper was not voted into the C++1y draft. However I was looking at it and with some experimentation realized that I could partially implement it, and at the same time offer a performance optimization to cout. I simply added an xsputn override to the cout filebuf. The override does nothing special at all if there is a non-trivial codecvt installed. However if the codecvt returns true for always_noconv(), then this function can dump an entire string to fwrite, instead of doing it a character at a time under overflow(). This just makes sense. I stopped short of a full implementation of N3665 because in order to do so, xsputn would have to allocate a buffer when always_noconv() returned false, and I don't want to go to that expense.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188077 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-09 16:25:43 +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 |
|
Howard Hinnant
|
a4e87abbb9
|
My previous reorganization of addressof broke -std=c++03. Thanks much to Arnold Schwaighofer for catching this. This patch also catches a few more missing addressof in <future>, thanks go to Zhihao Yuan for catching these.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187997 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-08 18:38:55 +00:00 |
|
Arnold Schwaighofer
|
a709c823f7
|
Revert r187927.
Zhihao Yuan: Replace operator& with addressof in reference_wrapper constructor.
It breaks a clang bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187959 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-08 03:06:24 +00:00 |
|
Howard Hinnant
|
d8bfe7ba56
|
Zhihao Yuan: Replace operator& with addressof in reference_wrapper constructor.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187927 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-07 23:02:42 +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
|
b92ee614f2
|
N3644 support for vector<bool>
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187911 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-08-07 20:53:44 +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 |
|