summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement P0040r3: Extending memory management toolsEric Fiselier2016-07-249-0/+871
| | | | llvm-svn: 276544
* Implement the in_place tags from p0032r3.Eric Fiselier2016-07-231-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 Fiselier2016-07-202-2/+4
| | | | | | clang/apple-clang. llvm-svn: 276200
* Fix inheriting constructor test for std::function.Eric Fiselier2016-07-201-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 Fiselier2016-07-202-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 Fiselier2016-07-201-0/+23
| | | | llvm-svn: 276091
* Reimplement is_constructible fallback implementation. Fixes PR21574.Eric Fiselier2016-07-202-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 Fiselier2016-07-183-0/+12
| | | | llvm-svn: 275753
* Suppress warning in make_from_tuple tests.Eric Fiselier2016-07-181-0/+4
| | | | llvm-svn: 275748
* Implement C++17 tuple bits. Including apply and make_from_tuple.Eric Fiselier2016-07-187-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 Clow2016-07-1225-19/+47
| | | | llvm-svn: 275211
* Add tests for the meta.unary.props that do not require a complete type. This ↵Marshall Clow2016-07-124-0/+14
| | | | | | is part of LWG#2582 llvm-svn: 275184
* Allow is_swappable to SFINAE on deleted/ambiguous swap functionsEric Fiselier2016-07-111-0/+21
| | | | llvm-svn: 275094
* Fix typo in #ifdef; leave tests commented out b/c gcc 4.8 harks on them.Marshall Clow2016-07-081-2/+2
| | | | llvm-svn: 274882
* Revert r274605 due to bot failure: ↵Manman Ren2016-07-061-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 Clow2016-07-061-7/+7
| | | | | | no more llvm-svn: 274605
* Handle std::get<T>(...) for std::tuple<>Eric Fiselier2016-07-021-0/+3
| | | | llvm-svn: 274422
* Rewrite std::get<Type>(...) helper using constexpr functions.Eric Fiselier2016-07-025-92/+35
| | | | llvm-svn: 274418
* Cleanup SFINAE in tuple, and add tests for reference assignmentEric Fiselier2016-07-022-0/+31
| | | | llvm-svn: 274414
* Make tuple_constructible and family lazy again.Eric Fiselier2016-07-021-0/+102
| | | | llvm-svn: 274413
* Flatten the tuple_element and __make_tuple_types implementations.Eric Fiselier2016-07-011-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.comEric Fiselier2016-06-301-1/+1
| | | | llvm-svn: 274206
* Implement P0163r0. Add shared_ptr::weak_type.Eric Fiselier2016-06-271-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 Fiselier2016-06-271-28/+69
| | | | llvm-svn: 273837
* Fix C++03 failure in enable_shared_from_this testEric Fiselier2016-06-271-1/+2
| | | | llvm-svn: 273836
* Fix PR27115 - enable_shared_from_this does not work as a virtual base class.Eric Fiselier2016-06-261-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 Fiselier2016-06-261-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.hppEric Fiselier2016-06-225-151/+92
| | | | llvm-svn: 273379
* Don't use non-conforming pointer_traits specialization it tests.Eric Fiselier2016-06-221-1/+3
| | | | llvm-svn: 273368
* Move remaining _LIBCPP_VERSION tests into test/libcxxEric Fiselier2016-06-229-180/+0
| | | | llvm-svn: 273367
* Move typoed dir meta.hel to meta.helpEric Fiselier2016-06-222-0/+0
| | | | llvm-svn: 273362
* Fix comment typos, strip trailing whitespace. Patch from STL@microsoft.comEric Fiselier2016-06-224-5/+5
| | | | llvm-svn: 273357
* Avoid huge main() functions and huge arrays. Patch from STL@microsoft.comEric Fiselier2016-06-221-3/+3
| | | | llvm-svn: 273354
* Don't use C++17 terse static assert. Patch from STL@microsoft.comEric Fiselier2016-06-228-120/+120
| | | | llvm-svn: 273353
* Suppress unused warnings in std::invoke tests.Eric Fiselier2016-06-221-4/+4
| | | | llvm-svn: 273348
* Guard libc++ assumption about identity hashing in test. Patch from ↵Eric Fiselier2016-06-221-3/+7
| | | | | | STL@microsoft.com llvm-svn: 273345
* Fix PR27684 - std::tuple no longer accepts reference to incomplete type in ↵Eric Fiselier2016-06-212-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 Fiselier2016-06-151-8/+3
| | | | | | warnings enabled llvm-svn: 272822
* Improve portability of hash tests. Patch from STL@microsoft.comEric Fiselier2016-06-151-3/+5
| | | | llvm-svn: 272744
* Fix bad test that was previously getting ifdef-ed awayEric Fiselier2016-06-141-2/+2
| | | | llvm-svn: 272722
* Replace __cplusplus comparisons and dialect __has_feature checks with ↵Eric Fiselier2016-06-1436-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 Fiselier2016-06-145-3/+19
| | | | llvm-svn: 272629
* Prevent truncation warning. Patch from STL@microsoft.comEric Fiselier2016-06-141-1/+1
| | | | llvm-svn: 272621
* Remove _LIBCPP_TRIVIAL_PAIR_COPY_CTOR option.Eric Fiselier2016-06-143-6/+94
| | | | llvm-svn: 272613
* [libcxx] Fix c++98 test failures.Asiri Rathnayake2016-06-038-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 Fiselier2016-06-021-0/+8
| | | | llvm-svn: 271502
* Mark LWG issue 2545 as complete. Add extra testsEric Fiselier2016-06-022-0/+132
| | | | llvm-svn: 271489
* Fix leak in __enable_weak_this(). Thanks to Arthur O'Dwyer for finding it.Eric Fiselier2016-06-021-1/+33
| | | | llvm-svn: 271487
* Mark LWG issue 2250 as completeEric Fiselier2016-06-027-90/+74
| | | | llvm-svn: 271475
* Mark LWG issue 2450 as complete.Eric Fiselier2016-06-027-6/+80
| | | | llvm-svn: 271473
OpenPOWER on IntegriCloud