Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix for PR17606 - result_of (and INVOKE) works incorrectly for member ↵ | Marshall Clow | 2014-02-10 | 2 | -0/+68 | |
| | | | | | | function pointers with ref qualifiers. Also a drive-by fix for common_type in C++03 mode. Thanks to Michel Morin for the bug report and the proposed fix. llvm-svn: 201101 | |||||
* | Const qualify __mem_fn call operator | Peter Collingbourne | 2014-01-22 | 5 | -0/+26 | |
| | | | | | | | | QOI improvement. Differential Revision: http://llvm-reviews.chandlerc.com/D2059 llvm-svn: 199848 | |||||
* | Fix erroneous test; was failing on darwin-ppc32. Fixes PR18469. | Marshall Clow | 2014-01-18 | 1 | -0/+4 | |
| | | | | llvm-svn: 199542 | |||||
* | Add license headers to a bunch of libc++ files that were missing them. No ↵ | Marshall Clow | 2014-01-16 | 9 | -0/+81 | |
| | | | | | | functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch. llvm-svn: 199400 | |||||
* | Found six (nmostly) identical files named 'test_allocator.h' in the libcxx ↵ | Marshall Clow | 2013-12-03 | 14 | -211/+12 | |
| | | | | | | test suite. Moved one to /support, made it a superset, and removed all but one of the others, and iupdated all the includes. Left the odd one (thread/futures/test_allocator.h) for later. llvm-svn: 196174 | |||||
* | Found two identical files named 'allocators.h' in the libcxx test suite. ↵ | Marshall Clow | 2013-12-02 | 30 | -376/+28 | |
| | | | | | | Moved one to /support, removed the other, and iupdated all the includes. No functionality change llvm-svn: 196127 | |||||
* | Found two identical files named 'DefaultOnly.h' in the libcxx test suite. ↵ | Marshall Clow | 2013-12-02 | 3 | -28/+2 | |
| | | | | | | Moved one to /support, removed the other, and iupdated all the includes. No functionality change llvm-svn: 196118 | |||||
* | Move <optional> into include/experimental, and into the std::experimental ↵ | Marshall Clow | 2013-11-15 | 57 | -397/+509 | |
| | | | | | | namespace, since it's not part of C++14, but of an upcoming TS llvm-svn: 194867 | |||||
* | This fixes a very subtle ABI problem concerning the copy constructor of | Howard Hinnant | 2013-11-13 | 1 | -0/+2 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pair, and a couple of pair-like implementation detail types. The C++98/03 and 11 standards all specify that the copy constructor of pair<int, int> is trivial. However as libc++ tracked the draft C++11 standard over the years, this copy constructor became non-trivial, and then just recently was corrected back to trivial for C++11. Unfortunately (for libc++1) the Itanium ABI specifies different calling conventions for trivial and non-trivial copy constructors. Therefore currently the C++03 libc++ copy constructor for pair<int, int> is ABI incompatible with the C++11 libc++ copy constructor for pair<int, int>. This is Bad(tm). This patch corrects the situation by making this copy constructor trivial in C++03 mode as well. Just in case it is needed for an incomplete C++11 compiler, libc++ retains the ability to support pair with rvalue references, but without defaulted special members. However the pair needs non-trivial special members to implement this special case, (as it did when clang was in this place a couple of years ago). During this work a bug was also found and fixed in is_trivially_constructible. And there is a minor drive-by fix in <__config> regarding __type_visibility__. A test is updated to ensure that the copy constructor of pair<int, int> is trivial in both C++03 and C++11. This test will necessarily fail for a compiler that implements rvalue references but not defaulted special members. llvm-svn: 194536 | |||||
* | Avoid using the name 'bzero' for an enumerator in global scope. <strings.h> ↵ | Richard Smith | 2013-10-21 | 2 | -2/+2 | |
| | | | | | | might declare this as a function. llvm-svn: 193066 | |||||
* | Fix LWG Issue 2141: common_type trait produces reference types | Marshall Clow | 2013-10-07 | 2 | -3/+17 | |
| | | | | llvm-svn: 192142 | |||||
* | Apparently, I don't know the difference between 'left' and 'right'. Swap ↵ | Marshall Clow | 2013-10-07 | 4 | -8/+8 | |
| | | | | | | parameters named 'lhs' and 'rhs' so that they correctly refer to the 'left hand side' and 'right hand side' of comparisons. No functionality change. Thanks to Arthur O'Dwyer for pointing this out to me. llvm-svn: 192080 | |||||
* | Add tests making sure that optional<T>s can be compared at compile time; ↵ | Marshall Clow | 2013-10-05 | 4 | -41/+43 | |
| | | | | | | this functionality was enabled by N3789 llvm-svn: 192051 | |||||
* | LWG Issue 2247: Implement type trait 'is_null_pointer' | Marshall Clow | 2013-10-05 | 14 | -0/+91 | |
| | | | | llvm-svn: 192049 | |||||
* | Mark namespaces for user defined literals as 'inline' | Marshall Clow | 2013-10-05 | 4 | -0/+142 | |
| | | | | llvm-svn: 192047 | |||||
* | Implement LWG issue 2275 'forward_as_tuple should be constexpr' | Marshall Clow | 2013-10-05 | 1 | -0/+12 | |
| | | | | llvm-svn: 192038 | |||||
* | Implement n3789; constexpr support in named function objects | Marshall Clow | 2013-09-28 | 19 | -0/+114 | |
| | | | | llvm-svn: 191626 | |||||
* | LWG Issue 2148: Hashing Enums | Marshall Clow | 2013-09-03 | 2 | -0/+87 | |
| | | | | llvm-svn: 189831 | |||||
* | Eradicate tabs | Marshall Clow | 2013-09-03 | 2 | -6/+6 | |
| | | | | llvm-svn: 189808 | |||||
* | Implement N3672, optional<T>. | Howard Hinnant | 2013-09-02 | 61 | -0/+3788 | |
| | | | | llvm-svn: 189772 | |||||
* | Forgot to svn add the test for r189722. | Howard Hinnant | 2013-08-31 | 1 | -0/+37 | |
| | | | | llvm-svn: 189723 | |||||
* | SFINAE out duration converting constructor if the constructor would ↵ | Howard Hinnant | 2013-08-31 | 1 | -0/+4 | |
| | | | | | | otherwise cause a ratio compile-time overflow. This fixes LWG 2094. llvm-svn: 189722 | |||||
* | is_destructible for function types was mistakenly returning true instead of ↵ | Howard Hinnant | 2013-08-30 | 1 | -0/+3 | |
| | | | | | | false. This is true in both C++11 and C++1y, but has been clarified by the post C++11 LWG issue 2049. llvm-svn: 189687 | |||||
* | LWG Issue 2162: mark allocator_traits::maxsize as noexcept | Marshall Clow | 2013-08-27 | 1 | -1/+7 | |
| | | | | llvm-svn: 189399 | |||||
* | More support for N3657; tests for is_transparent | Marshall Clow | 2013-08-13 | 4 | -0/+183 | |
| | | | | llvm-svn: 188242 | |||||
* | Add a check for arrays of unknown bounds to is_destructible. This fixes ↵ | Howard Hinnant | 2013-08-09 | 1 | -0/+2 | |
| | | | | | | http://llvm.org/bugs/show_bug.cgi?id=16839 llvm-svn: 188080 | |||||
* | War on tabs | Howard Hinnant | 2013-08-07 | 8 | -22/+22 | |
| | | | | llvm-svn: 187906 | |||||
* | Rename time.duration.literals step 3 | Howard Hinnant | 2013-08-07 | 1 | -0/+59 | |
| | | | | llvm-svn: 187905 | |||||
* | Rename time.duration.literals step 2 | Howard Hinnant | 2013-08-07 | 1 | -59/+0 | |
| | | | | llvm-svn: 187904 | |||||
* | Rename time.duration.literals step 1 | Howard Hinnant | 2013-08-07 | 2 | -59/+59 | |
| | | | | llvm-svn: 187903 | |||||
* | Constrain fill_n -> memset operations to include implicit convertibility to ↵ | Howard Hinnant | 2013-08-01 | 1 | -1/+1 | |
| | | | | | | unsigned char. This fixes http://llvm.org/bugs/show_bug.cgi?id=16764. Also a drive-by fix on a chrono test suite bug. llvm-svn: 187552 | |||||
* | Implement n3469 - constexpr for chrono | Marshall Clow | 2013-07-31 | 9 | -0/+144 | |
| | | | | llvm-svn: 187517 | |||||
* | Implement N3421; comparison predicates<void> | Marshall Clow | 2013-07-29 | 19 | -0/+250 | |
| | | | | llvm-svn: 187357 | |||||
* | literal suffixes for std::chrono | Marshall Clow | 2013-07-24 | 1 | -0/+59 | |
| | | | | llvm-svn: 187078 | |||||
* | Make tuple's constructor and std::get<>(tuple) constexpr. Final stage of ↵ | Marshall Clow | 2013-07-22 | 12 | -1/+204 | |
| | | | | | | fixing bug #16599. Thanks to Howard for the review and updates. llvm-svn: 186834 | |||||
* | Make std::get constexpr | Marshall Clow | 2013-07-17 | 2 | -4/+20 | |
| | | | | llvm-svn: 186525 | |||||
* | Bug 16599 part 2: Make std::pair's constructors and comparison operators ↵ | Marshall Clow | 2013-07-16 | 7 | -1/+95 | |
| | | | | | | (and make_pair) constexpr. llvm-svn: 186430 | |||||
* | Make std::forward and std::move (and std::move_if_noexcept) constexpr in C++14 | Marshall Clow | 2013-07-15 | 2 | -0/+13 | |
| | | | | llvm-svn: 186344 | |||||
* | A few fixes to tests for Windows port. | Howard Hinnant | 2013-07-15 | 1 | -2/+3 | |
| | | | | llvm-svn: 186334 | |||||
* | Implement n3584 - Addressing Tuples by Type | Marshall Clow | 2013-07-13 | 9 | -0/+268 | |
| | | | | llvm-svn: 186237 | |||||
* | Port make_[un]signed tests to platforms where sizeof(wchar_t) == 2. | Howard Hinnant | 2013-07-11 | 2 | -4/+4 | |
| | | | | llvm-svn: 186136 | |||||
* | Improved tests (and fixed a bug in the tests); thanks to Richard Smith for ↵ | Marshall Clow | 2013-07-10 | 1 | -2/+13 | |
| | | | | | | the suggestion llvm-svn: 186022 | |||||
* | War on tabs. | Howard Hinnant | 2013-07-08 | 4 | -35/+35 | |
| | | | | llvm-svn: 185865 | |||||
* | Implement n3668 - std::exchange | Marshall Clow | 2013-07-08 | 1 | -0/+47 | |
| | | | | llvm-svn: 185863 | |||||
* | Implement n3545 for c++14 | Marshall Clow | 2013-07-08 | 1 | -0/+5 | |
| | | | | llvm-svn: 185856 | |||||
* | Patch for N3655 (Transformation type traits) with Howard's additions | Marshall Clow | 2013-07-04 | 48 | -591/+963 | |
| | | | | llvm-svn: 185597 | |||||
* | Implement n3656 - make_unique. Thanks to Howard for the review and suggestions. | Marshall Clow | 2013-07-01 | 6 | -0/+146 | |
| | | | | llvm-svn: 185352 | |||||
* | Implement n3658 - Compile-time integer sequences | Marshall Clow | 2013-07-01 | 6 | -0/+248 | |
| | | | | llvm-svn: 185343 | |||||
* | The bind and function functor constructors and assignment operators were ↵ | Howard Hinnant | 2013-07-01 | 1 | -0/+35 | |
| | | | | | | overly general and getting confused with the copy constructor and copy assignment operators. Constrained them. This fixes http://llvm.org/bugs/show_bug.cgi?id=16385 llvm-svn: 185297 | |||||
* | Fix bind by making _is_valid_bind_return more robust. It should return ↵ | Howard Hinnant | 2013-06-30 | 1 | -0/+51 | |
| | | | | | | false instead of give a compile time error, always. The problem was down in ____mu_return, the version that handles nested bind objects. This fixes http://llvm.org/bugs/show_bug.cgi?id=16343 llvm-svn: 185289 |