summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities
Commit message (Collapse)AuthorAgeFilesLines
* Include initializer_list from utilityBen Craig2016-04-191-0/+20
| | | | | | | The C++11 and C++14 standards both say in the header <utility> synopsis that <utility> shall include <initializer_list>. llvm-svn: 266808
* Make tuples constructors conditionally EXPLICIT. See N4387Eric Fiselier2016-04-1911-3/+285
| | | | llvm-svn: 266703
* Implement LWG issue 2219 - support reference_wrapper in INVOKEEric Fiselier2016-04-187-45/+336
| | | | llvm-svn: 266590
* Add hash specializations for __int128_t. Fixes LWG issue 2119Eric Fiselier2016-04-181-3/+8
| | | | llvm-svn: 266587
* Add tests for LWG issue 2361Eric Fiselier2016-04-1815-8/+262
| | | | llvm-svn: 266586
* Cleanup and guard tuple's constructor SFINAE. Fixes PR22806 and PR23256.Eric Fiselier2016-04-153-2/+278
| | | | | | | | | | | | | | | | | | | | | There are two main fixes in this patch. First the constructor SFINAE was changed so that it's evaluated in two stages where the first stage evaluates the "safe" SFINAE conditions and the second evaluates the "dangerous" ones. The key is that the second stage is lazily evaluated only if the first stage passes. This helps fix PR23256 (https://llvm.org/bugs/show_bug.cgi?id=23256). The second fix is for PR22806 and LWG issue 2549. This fix applies the suggested resolution to the LWG issue in order to prevent the construction of dangling references. The SFINAE for this check is contained within the _PreferTupleLikeConstructor alias template. The tuple-like constructors are disabled whenever that trait returns false. (https://llvm.org/bugs/show_bug.cgi?id=22806) (http://cplusplus.github.io/LWG/lwg-active.html#2549) llvm-svn: 266461
* [libcxx] Remove the "reduced-arity-initialization" extension from the ↵Eric Fiselier2016-04-152-55/+98
| | | | | | | | | | | | | | | | | uses-allocator constructors Summary: A default uses-allocator constructor has been added since that overload was previously provided by the extended constructor. Since Clang does implicit conversion checking after substitution this constructor has to deduce the allocator_arg_t parameter so that it can prevent the evaluation of "is_default_constructible" if the first argument doesn't match. See http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1391 for more information. This patch fixes PR24779 (https://llvm.org/bugs/show_bug.cgi?id=24779) Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19006 llvm-svn: 266409
* Make std::addressof constexpr in C++17 (Clang only).Eric Fiselier2016-03-171-0/+42
| | | | llvm-svn: 263688
* Mark exception-throwing test as XFAIL when exceptions are disabledMarshall Clow2016-03-141-0/+1
| | | | llvm-svn: 263405
* Fix for PR26812: possible overflow issue in std::allocator::allocateMarshall Clow2016-03-031-0/+46
| | | | llvm-svn: 262610
* Added tests to make sure that the categorization traits work on incomplete typesMarshall Clow2016-02-2529-15/+127
| | | | llvm-svn: 261925
* No, really - test the constructorMarshall Clow2016-02-251-1/+1
| | | | llvm-svn: 261875
* Add test to ensure that the converting constructor in N4089 is present and ↵Marshall Clow2016-02-251-0/+27
| | | | | | working llvm-svn: 261874
* These new tests fail on the green-dragon bots, which use an old Apple compiler.Marshall Clow2016-02-231-8/+10
| | | | | | | Since they're scheduled to be updated soon, we'll just comment out this test for the moment, and re-commit when the bots are updated. llvm-svn: 261661
* Add tests for LWG#2560. No code changes, just testsMarshall Clow2016-02-231-0/+9
| | | | llvm-svn: 261653
* Fix PR26103 - Error calling is_convertible with incomplete type. Patch from ↵Eric Fiselier2016-01-261-0/+8
| | | | | | Michael Daniels. llvm-svn: 258852
* Implement LWG#2385; remove the allocator-aware std::function::assign call. ↵Marshall Clow2016-01-251-0/+4
| | | | | | It was useless, and didn't actually *do anything* with the allocator. Now it's gone. On the off chance that someone is mistakenly calling it, it's only gone in C++1z llvm-svn: 258697
* Implement LWG#2101 'Some transformation types can produce impossible types' ↵Marshall Clow2016-01-215-13/+114
| | | | | | Introduced a new (internal) type trait '__is_referenceable' with tests. Use that trait in add_lvalue_reference, add_rvalue_reference and add_pointer. llvm-svn: 258418
* Mark some test XFAIL for GCC 4.9 due to missing is_trivial* traitsEric Fiselier2016-01-209-3/+29
| | | | llvm-svn: 258287
* Add missing license headersEric Fiselier2016-01-192-0/+18
| | | | llvm-svn: 258196
* One more missing std:: qualification from JonathanMarshall Clow2016-01-121-1/+2
| | | | llvm-svn: 257506
* Add a bunch of missing includes in the test suite to make it more portable. ↵Marshall Clow2016-01-122-2/+4
| | | | | | Fixes bugs #26120 and #26121. Thanks to Jonathan Wakely for the reports and the patches. llvm-svn: 257474
* [libcxx] Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default ↵Eric Fiselier2015-12-232-6/+175
| | | | | | | | | | | | | | constructors. Summary: This patch implements the solution for LWG Issue #2367. See http://cplusplus.github.io/LWG/lwg-active.html#2367 Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13750 llvm-svn: 256325
* Fix type in tuple test. Sorry for the noiseEric Fiselier2015-12-181-2/+2
| | | | llvm-svn: 255944
* [libcxx] LWG2485: get() should be overloaded for const tuple&&. Patch from ↵Eric Fiselier2015-12-185-11/+264
| | | | | | | K-Ballo. Review: http://reviews.llvm.org/D14839 llvm-svn: 255941
* Fix various GCC mis-configurations for newer versions.Eric Fiselier2015-12-151-5/+4
| | | | | | | | | | | | This patch goes through and enables C++11 and C++14 features for newer GCC's. The main changes are: 1. Turn on variable templates. (Uses __cpp_variable_templates) 2. Assert atomic<Tp> is trivially copyable (Uses _GNUC_VER >= 501). 3. Turn on trailing return support for GCC. (Uses _GNUC_VER >= 404) 4. XFAIL void_t test for GCC 5.1 and 5.2. Fixed in GCC 6. llvm-svn: 255585
* K-Ballo pointed out a mistake in the add_lvalue_ref tests I checked in; now ↵Marshall Clow2015-12-141-7/+7
| | | | | | more of them are passing. Thanks llvm-svn: 255519
* Add add_lvalue_ref tests for a few function types, with a note why not moreMarshall Clow2015-12-141-0/+36
| | | | llvm-svn: 255513
* Use __make_integer_seq builtin for std::make_integer_sequence. Patch by K-ballo.Eric Fiselier2015-12-094-11/+49
| | | | llvm-svn: 255162
* Last bit of P0006; mark it as completeMarshall Clow2015-11-301-0/+4
| | | | llvm-svn: 254290
* Fix bugs in alignment_of_v, etc. Re-enable the newly added testsMarshall Clow2015-11-303-16/+16
| | | | llvm-svn: 254289
* Temporarily disable new tests while I figure out what's going onMarshall Clow2015-11-303-19/+19
| | | | llvm-svn: 254288
* Fix bad macrosMarshall Clow2015-11-301-1/+1
| | | | llvm-svn: 254287
* Implement more of P0006; Type Traits Variable Templates. <ratio>Marshall Clow2015-11-306-54/+120
| | | | llvm-svn: 254285
* Fix bad macros in testsMarshall Clow2015-11-303-5/+5
| | | | llvm-svn: 254284
* Implement more of P0006; Type Traits Variable Templates.Marshall Clow2015-11-306-2/+68
| | | | llvm-svn: 254283
* Add tests for the extended integer types - as required by LWG#2119Marshall Clow2015-11-171-0/+40
| | | | llvm-svn: 253376
* Implement P0007: Constant View: A proposal for a std::as_const helper ↵Marshall Clow2015-11-172-0/+68
| | | | | | function template. llvm-svn: 253274
* Implement P0013R1: Logical Operator Type Traits. Make a hidden ↵Marshall Clow2015-11-163-0/+171
| | | | | | implementation (__and_, __or_, and __not_) so that we can use them elsewhere in non-C++17 code - for example, in the LFTS llvm-svn: 253215
* Implement P0074: Making owner_less more flexibleMarshall Clow2015-11-121-0/+40
| | | | llvm-svn: 252905
* Fix typo I just introduced.Marshall Clow2015-11-101-1/+1
| | | | llvm-svn: 252614
* Walter pointed out some missing includes in the tests. Fixing the includes ↵Marshall Clow2015-11-1059-31/+85
| | | | | | uncovered a couple bugs in the _v type traits. Fixed those, too llvm-svn: 252612
* Explicitly #include <utility> so that we get std::move. Thanks to Walter for ↵Marshall Clow2015-11-101-0/+1
| | | | | | the bug report. llvm-svn: 252610
* Make it possible to build a no-exceptions variant of libcxx.Asiri Rathnayake2015-11-1018-0/+18
| | | | | | | | | | | | Fixes a small omission in libcxx that prevents libcxx being built when -DLIBCXX_ENABLE_EXCEPTIONS=0 is specified. This patch adds XFAILS to all those tests that are currently failing on the new -fno-exceptions library variant. Follow-up patches will update the tests (progressively) to cope with the new library variant. Change-Id: I4b801bd8d8e4fe7193df9e55f39f1f393a8ba81a llvm-svn: 252598
* More of P0006R0: type traits variable aliases for C++17.Marshall Clow2015-11-0726-5/+234
| | | | llvm-svn: 252406
* Implement P0092R1 for C++1zMarshall Clow2015-11-0514-0/+589
| | | | llvm-svn: 252195
* Remove undefined behavior from some tests. Same pattern as the ↵Marshall Clow2015-11-022-10/+16
| | | | | | unitialized_copy tests llvm-svn: 251804
* Remove undefined behavior from some tests. Thanks to Walter Brown for the ↵Marshall Clow2015-11-022-10/+18
| | | | | | heads-up. llvm-svn: 251802
* Improve the tests for 'is_literal_type'Marshall Clow2015-11-011-18/+62
| | | | llvm-svn: 251767
* Implement the first part of P0006R0: Adopt Type Traits Variable Templates ↵Marshall Clow2015-11-0134-0/+2198
| | | | | | for C++17. Significantly augment the existing tests. llvm-svn: 251766
OpenPOWER on IntegriCloud