Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Implement P0040r3: Extending memory management tools | Eric Fiselier | 2016-07-24 | 9 | -0/+871 | |
| | | | | llvm-svn: 276544 | |||||
* | Implement the in_place tags from p0032r3. | Eric Fiselier | 2016-07-23 | 1 | -0/+99 | |
| | | | | | | | That paper also has changes to any/optional but those will be implemented later. llvm-svn: 276537 | |||||
* | Unbreak traits tests by handling differences between version macros in ↵ | Eric Fiselier | 2016-07-20 | 2 | -2/+4 | |
| | | | | | | clang/apple-clang. llvm-svn: 276200 | |||||
* | Fix inheriting constructor test for std::function. | Eric Fiselier | 2016-07-20 | 1 | -4/+7 | |
| | | | | | | | The test I originally checked in only worked with ToT Clang. This patch updates the test so that it works as far back as 3.5. llvm-svn: 276093 | |||||
* | Unbreak is_constructible tests for Clang <= 3.7. | Eric Fiselier | 2016-07-20 | 2 | -1/+25 | |
| | | | | | | | There is a bug in Clang's __is_constructible builtin that causes it to return true for function types; ex [T = void()]. llvm-svn: 276092 | |||||
* | Add missed test in r276090. | Eric Fiselier | 2016-07-20 | 1 | -0/+23 | |
| | | | | llvm-svn: 276091 | |||||
* | Reimplement is_constructible fallback implementation. Fixes PR21574. | Eric Fiselier | 2016-07-20 | 2 | -7/+60 | |
| | | | | | | | The previous implementation relied highly on specializations to handle special cases. This new implementation lets the compiler do the work when possible. llvm-svn: 276084 | |||||
* | Prevent failures by marking Clock::is_steady tests as UNSUPPORTED: asan. | Eric Fiselier | 2016-07-18 | 3 | -0/+12 | |
| | | | | llvm-svn: 275753 | |||||
* | Suppress warning in make_from_tuple tests. | Eric Fiselier | 2016-07-18 | 1 | -0/+4 | |
| | | | | llvm-svn: 275748 | |||||
* | Implement C++17 tuple bits. Including apply and make_from_tuple. | Eric Fiselier | 2016-07-18 | 7 | -0/+1151 | |
| | | | | | | | | | | This patch upgrades <tuple> to be C++17 compliant by implementing: * tuple_size_v: This was forgotten when implementing the other _v traits. * std::apply: This was added via LFTS v1 in p0220r1. * std::make_from_tuple: This was added in p0209r2. llvm-svn: 275745 | |||||
* | Add more tests for LWG#2582. No code changes needed, just tests. | Marshall Clow | 2016-07-12 | 25 | -19/+47 | |
| | | | | llvm-svn: 275211 | |||||
* | Add tests for the meta.unary.props that do not require a complete type. This ↵ | Marshall Clow | 2016-07-12 | 4 | -0/+14 | |
| | | | | | | is part of LWG#2582 llvm-svn: 275184 | |||||
* | Allow is_swappable to SFINAE on deleted/ambiguous swap functions | Eric Fiselier | 2016-07-11 | 1 | -0/+21 | |
| | | | | llvm-svn: 275094 | |||||
* | Fix typo in #ifdef; leave tests commented out b/c gcc 4.8 harks on them. | Marshall Clow | 2016-07-08 | 1 | -2/+2 | |
| | | | | llvm-svn: 274882 | |||||
* | Revert r274605 due to bot failure: ↵ | Manman Ren | 2016-07-06 | 1 | -7/+7 | |
| | | | | | | http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-expensive/244/ llvm-svn: 274651 | |||||
* | Fix typo in #ifdef, and re-enable tests now that the green-dragon bots are ↵ | Marshall Clow | 2016-07-06 | 1 | -7/+7 | |
| | | | | | | no more llvm-svn: 274605 | |||||
* | Handle std::get<T>(...) for std::tuple<> | Eric Fiselier | 2016-07-02 | 1 | -0/+3 | |
| | | | | llvm-svn: 274422 | |||||
* | Rewrite std::get<Type>(...) helper using constexpr functions. | Eric Fiselier | 2016-07-02 | 5 | -92/+35 | |
| | | | | llvm-svn: 274418 | |||||
* | Cleanup SFINAE in tuple, and add tests for reference assignment | Eric Fiselier | 2016-07-02 | 2 | -0/+31 | |
| | | | | llvm-svn: 274414 | |||||
* | Make tuple_constructible and family lazy again. | Eric Fiselier | 2016-07-02 | 1 | -0/+102 | |
| | | | | llvm-svn: 274413 | |||||
* | Flatten the tuple_element and __make_tuple_types implementations. | Eric Fiselier | 2016-07-01 | 1 | -0/+34 | |
| | | | | | | | | | | This patch attempts to improve the QoI of std::tuples tuple_element and __make_tuple_types helpers. Previously they required O(N) instantiations, one for every element in the tuple The new implementations are O(1) after __tuple_indices<Id...> is created. llvm-svn: 274330 | |||||
* | Fix use of terse static assert. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 274206 | |||||
* | Implement P0163r0. Add shared_ptr::weak_type. | Eric Fiselier | 2016-06-27 | 1 | -0/+6 | |
| | | | | | | | | | | This patch adds the weak_type typedef in shared_ptr. It is available in C++17 and newer. This patch also updates the _LIBCPP_STD_VER and TEST_STD_VER macros to have the value of 16, since 2016 is the current year. llvm-svn: 273839 | |||||
* | Implement P0358r1. Fixes for not_fn. | Eric Fiselier | 2016-06-27 | 1 | -28/+69 | |
| | | | | llvm-svn: 273837 | |||||
* | Fix C++03 failure in enable_shared_from_this test | Eric Fiselier | 2016-06-27 | 1 | -1/+2 | |
| | | | | llvm-svn: 273836 | |||||
* | Fix PR27115 - enable_shared_from_this does not work as a virtual base class. | Eric Fiselier | 2016-06-26 | 1 | -0/+16 | |
| | | | | | | | | | | | | | See https://llvm.org/bugs/show_bug.cgi?id=27115 The problem was that the conversion from 'const enable_shared_from_this<T>*' to 'const T*' didn't work if T inherited enable_shared_from_this as a virtual base class. The fix is to take the original pointer passed to shared_ptr's constructor in the __enable_weak_this method and perform an upcast to 'const T*' instead of performing a downcast from the enable_shared_from_this base. llvm-svn: 273835 | |||||
* | Implement LWG 2488 - Make the placeholders constexpr. | Eric Fiselier | 2016-06-26 | 1 | -0/+28 | |
| | | | | | | | | | | | | | | | | | | | This patch makes the bind placeholders in std::placeholders both (1) const and (2) constexpr (See below). This is technically a breaking change for any code using the placeholders outside of std::bind and depending on them being non-const. However I don't think this will break any real world code. (1) Previously the placeholders were non-const extern globals in all dialects. This patch changes these extern globals to be const in all dialects. Since the cv-qualifiers don't participate in name mangling for globals this is an ABI compatible change. (2) Make the placeholders constexpr in C++11 and beyond. Although LWG 2488 only applies to C++17 I don't see any reason not to backport this change. llvm-svn: 273824 | |||||
* | Make shared_ptr constructor tests use count_new.hpp | Eric Fiselier | 2016-06-22 | 5 | -151/+92 | |
| | | | | llvm-svn: 273379 | |||||
* | Don't use non-conforming pointer_traits specialization it tests. | Eric Fiselier | 2016-06-22 | 1 | -1/+3 | |
| | | | | llvm-svn: 273368 | |||||
* | Move remaining _LIBCPP_VERSION tests into test/libcxx | Eric Fiselier | 2016-06-22 | 9 | -180/+0 | |
| | | | | llvm-svn: 273367 | |||||
* | Move typoed dir meta.hel to meta.help | Eric Fiselier | 2016-06-22 | 2 | -0/+0 | |
| | | | | llvm-svn: 273362 | |||||
* | Fix comment typos, strip trailing whitespace. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-22 | 4 | -5/+5 | |
| | | | | llvm-svn: 273357 | |||||
* | Avoid huge main() functions and huge arrays. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-22 | 1 | -3/+3 | |
| | | | | llvm-svn: 273354 | |||||
* | Don't use C++17 terse static assert. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-22 | 8 | -120/+120 | |
| | | | | llvm-svn: 273353 | |||||
* | Suppress unused warnings in std::invoke tests. | Eric Fiselier | 2016-06-22 | 1 | -4/+4 | |
| | | | | llvm-svn: 273348 | |||||
* | Guard libc++ assumption about identity hashing in test. Patch from ↵ | Eric Fiselier | 2016-06-22 | 1 | -3/+7 | |
| | | | | | | STL@microsoft.com llvm-svn: 273345 | |||||
* | Fix PR27684 - std::tuple no longer accepts reference to incomplete type in ↵ | Eric Fiselier | 2016-06-21 | 2 | -20/+56 | |
| | | | | | | | | | | | | | | | | | some cases. Libc++ has to deduce the 'allocator_arg_t' parameter as 'AllocArgT' for the following constructor: template <class Alloc> tuple(allocator_arg_t, Alloc const&) Previously libc++ has tried to support tags derived from 'allocator_arg_t' by using 'is_base_of<AllocArgT, allocator_arg_t>'. However this breaks whenever a 2-tuple contains a reference to an incomplete type as its first parameter. See https://llvm.org/bugs/show_bug.cgi?id=27684 llvm-svn: 273334 | |||||
* | Fix warning in tuple tests. The test suite should now run clean with most ↵ | Eric Fiselier | 2016-06-15 | 1 | -8/+3 | |
| | | | | | | warnings enabled llvm-svn: 272822 | |||||
* | Improve portability of hash tests. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-15 | 1 | -3/+5 | |
| | | | | llvm-svn: 272744 | |||||
* | Fix bad test that was previously getting ifdef-ed away | Eric Fiselier | 2016-06-14 | 1 | -2/+2 | |
| | | | | llvm-svn: 272722 | |||||
* | Replace __cplusplus comparisons and dialect __has_feature checks with ↵ | Eric Fiselier | 2016-06-14 | 36 | -47/+101 | |
| | | | | | | | | | 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 | |||||
* | Fix warnings in tests. | Eric Fiselier | 2016-06-14 | 5 | -3/+19 | |
| | | | | llvm-svn: 272629 | |||||
* | Prevent truncation warning. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 272621 | |||||
* | Remove _LIBCPP_TRIVIAL_PAIR_COPY_CTOR option. | Eric Fiselier | 2016-06-14 | 3 | -6/+94 | |
| | | | | llvm-svn: 272613 | |||||
* | [libcxx] Fix c++98 test failures. | Asiri Rathnayake | 2016-06-03 | 8 | -8/+8 | |
| | | | | | | | | | Adds XFAIL/UNSUPPORTED lit tags as appropriate. Gets a clean test run for -std=c++98 on Fedora 20. NFC. llvm-svn: 271741 | |||||
* | Add not_fn test for throwing operator! | Eric Fiselier | 2016-06-02 | 1 | -0/+8 | |
| | | | | llvm-svn: 271502 | |||||
* | Mark LWG issue 2545 as complete. Add extra tests | Eric Fiselier | 2016-06-02 | 2 | -0/+132 | |
| | | | | llvm-svn: 271489 | |||||
* | Fix leak in __enable_weak_this(). Thanks to Arthur O'Dwyer for finding it. | Eric Fiselier | 2016-06-02 | 1 | -1/+33 | |
| | | | | llvm-svn: 271487 | |||||
* | Mark LWG issue 2250 as complete | Eric Fiselier | 2016-06-02 | 7 | -90/+74 | |
| | | | | llvm-svn: 271475 | |||||
* | Mark LWG issue 2450 as complete. | Eric Fiselier | 2016-06-02 | 7 | -6/+80 | |
| | | | | llvm-svn: 271473 |