Eric Fiselier
a58d430cac
Make std::addressof constexpr in C++17 (Clang only).
...
llvm-svn: 263688
2016-03-17 03:30:56 +00:00
Marshall Clow
4251d3779f
Mark exception-throwing test as XFAIL when exceptions are disabled
...
llvm-svn: 263405
2016-03-14 02:51:50 +00:00
Marshall Clow
4cec709ed6
Fix for PR26812: possible overflow issue in std::allocator::allocate
...
llvm-svn: 262610
2016-03-03 12:04:39 +00:00
Marshall Clow
4877c197c2
Added tests to make sure that the categorization traits work on incomplete types
...
llvm-svn: 261925
2016-02-25 20:15:47 +00:00
Marshall Clow
71abfc1392
No, really - test the constructor
...
llvm-svn: 261875
2016-02-25 15:27:13 +00:00
Marshall Clow
6433044dc9
Add test to ensure that the converting constructor in N4089 is present and working
...
llvm-svn: 261874
2016-02-25 15:25:29 +00:00
Marshall Clow
1b9fae5a40
These new tests fail on the green-dragon bots, which use an old Apple compiler.
...
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
2016-02-23 18:09:38 +00:00
Marshall Clow
9bb3582fc9
Add tests for LWG#2560. No code changes, just tests
...
llvm-svn: 261653
2016-02-23 17:01:52 +00:00
Eric Fiselier
060cc200d0
Fix PR26103 - Error calling is_convertible with incomplete type. Patch from Michael Daniels.
...
llvm-svn: 258852
2016-01-26 20:24:30 +00:00
Marshall Clow
0aa1ccb0d9
Implement LWG#2385; remove the allocator-aware std::function::assign call. 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
2016-01-25 17:29:55 +00:00
Marshall Clow
fcdb19904c
Implement LWG#2101 'Some transformation types can produce impossible types' 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
2016-01-21 18:22:43 +00:00
Eric Fiselier
6469c3ec17
Mark some test XFAIL for GCC 4.9 due to missing is_trivial* traits
...
llvm-svn: 258287
2016-01-20 04:59:57 +00:00
Eric Fiselier
38236b5750
Add missing license headers
...
llvm-svn: 258196
2016-01-19 21:52:04 +00:00
Marshall Clow
df5ddf2c7a
One more missing std:: qualification from Jonathan
...
llvm-svn: 257506
2016-01-12 19:15:10 +00:00
Marshall Clow
8d113d430f
Add a bunch of missing includes in the test suite to make it more portable. Fixes bugs #26120 and #26121 . Thanks to Jonathan Wakely for the reports and the patches.
...
llvm-svn: 257474
2016-01-12 14:51:04 +00:00
Eric Fiselier
7a608aa232
[libcxx] Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default 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
2015-12-23 08:20:26 +00:00
Eric Fiselier
51b9de4c7c
Fix type in tuple test. Sorry for the noise
...
llvm-svn: 255944
2015-12-18 01:04:36 +00:00
Eric Fiselier
545b8861fc
[libcxx] LWG2485: get() should be overloaded for const tuple&&. Patch from K-Ballo.
...
Review: http://reviews.llvm.org/D14839
llvm-svn: 255941
2015-12-18 00:36:55 +00:00
Eric Fiselier
831c112954
Fix various GCC mis-configurations for newer versions.
...
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
2015-12-15 00:32:21 +00:00
Marshall Clow
6e07ccdfe1
K-Ballo pointed out a mistake in the add_lvalue_ref tests I checked in; now more of them are passing. Thanks
...
llvm-svn: 255519
2015-12-14 18:11:51 +00:00
Marshall Clow
161eae2daa
Add add_lvalue_ref tests for a few function types, with a note why not more
...
llvm-svn: 255513
2015-12-14 17:34:03 +00:00
Eric Fiselier
fff5ec035b
Use __make_integer_seq builtin for std::make_integer_sequence. Patch by K-ballo.
...
llvm-svn: 255162
2015-12-09 22:03:06 +00:00
Marshall Clow
b8427293df
Last bit of P0006; mark it as complete
...
llvm-svn: 254290
2015-11-30 05:39:30 +00:00
Marshall Clow
12dff9e66a
Fix bugs in alignment_of_v, etc. Re-enable the newly added tests
...
llvm-svn: 254289
2015-11-30 05:20:00 +00:00
Marshall Clow
00b6b01592
Temporarily disable new tests while I figure out what's going on
...
llvm-svn: 254288
2015-11-30 05:15:10 +00:00
Marshall Clow
c8f3816e63
Fix bad macros
...
llvm-svn: 254287
2015-11-30 05:10:10 +00:00
Marshall Clow
4ddfaea773
Implement more of P0006; Type Traits Variable Templates. <ratio>
...
llvm-svn: 254285
2015-11-30 05:04:22 +00:00
Marshall Clow
803a8bb105
Fix bad macros in tests
...
llvm-svn: 254284
2015-11-30 05:03:35 +00:00
Marshall Clow
e12a536d76
Implement more of P0006; Type Traits Variable Templates.
...
llvm-svn: 254283
2015-11-30 04:30:02 +00:00
Marshall Clow
1867554cc6
Add tests for the extended integer types - as required by LWG#2119
...
llvm-svn: 253376
2015-11-17 21:04:24 +00:00
Marshall Clow
dbd2d32892
Implement P0007: Constant View: A proposal for a std::as_const helper function template.
...
llvm-svn: 253274
2015-11-17 00:08:08 +00:00
Marshall Clow
dd1b261f3a
Implement P0013R1: Logical Operator Type Traits. Make a hidden 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
2015-11-16 15:54:13 +00:00
Marshall Clow
183c010c9a
Implement P0074: Making owner_less more flexible
...
llvm-svn: 252905
2015-11-12 15:56:44 +00:00
Marshall Clow
d1180f4abc
Fix typo I just introduced.
...
llvm-svn: 252614
2015-11-10 16:10:17 +00:00
Marshall Clow
d17405fe9c
Walter pointed out some missing includes in the tests. Fixing the includes uncovered a couple bugs in the _v type traits. Fixed those, too
...
llvm-svn: 252612
2015-11-10 15:48:23 +00:00
Marshall Clow
bfba968360
Explicitly #include <utility> so that we get std::move. Thanks to Walter for the bug report.
...
llvm-svn: 252610
2015-11-10 15:22:08 +00:00
Asiri Rathnayake
f520c1445f
Make it possible to build a no-exceptions variant of libcxx.
...
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
2015-11-10 11:41:22 +00:00
Marshall Clow
8be59af1ed
More of P0006R0: type traits variable aliases for C++17.
...
llvm-svn: 252406
2015-11-07 17:44:36 +00:00
Marshall Clow
2cd0d6d625
Implement P0092R1 for C++1z
...
llvm-svn: 252195
2015-11-05 19:33:59 +00:00
Marshall Clow
79dfd99d30
Remove undefined behavior from some tests. Same pattern as the unitialized_copy tests
...
llvm-svn: 251804
2015-11-02 15:29:13 +00:00
Marshall Clow
8eb1d544f8
Remove undefined behavior from some tests. Thanks to Walter Brown for the heads-up.
...
llvm-svn: 251802
2015-11-02 15:25:53 +00:00
Marshall Clow
00ec0bf828
Improve the tests for 'is_literal_type'
...
llvm-svn: 251767
2015-11-01 21:13:10 +00:00
Marshall Clow
dd0ef09954
Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. Significantly augment the existing tests.
...
llvm-svn: 251766
2015-11-01 20:24:59 +00:00
Marshall Clow
3b72a6ef63
Fix LWG#2489: mem_fn() should be noexcept
...
llvm-svn: 251257
2015-10-25 20:12:16 +00:00
Marshall Clow
531c41e1b8
Add the tests for the last commit
...
llvm-svn: 251254
2015-10-25 19:53:29 +00:00
Marshall Clow
b631c24359
Add a test for LWG#2466: allocator_traits::max_size() default behavior is incorrect
...
llvm-svn: 251252
2015-10-25 19:34:04 +00:00
Marshall Clow
2603b0758d
Fix LWG#2127: Move-construction with raw_storage_iterator.
...
llvm-svn: 251247
2015-10-25 18:58:07 +00:00
Marshall Clow
e652e4dae1
Fixed a possible overflow in a test of allocator::max_size().
...
llvm-svn: 249349
2015-10-05 20:50:25 +00:00
Marshall Clow
e8fe34d4d1
The test I cnecked in to check the fix for PR#24890 failed (as expected) w/o the fix, but for the wrong reason. Now it fails for the right reason.
...
llvm-svn: 248307
2015-09-22 18:09:13 +00:00
Marshall Clow
835e77e29e
Check in the test for PR#24890 that I forgot in previous commit
...
llvm-svn: 248305
2015-09-22 17:57:41 +00:00