Eric Fiselier
58ff77c2e0
Mark LWG issue 2545 as complete. Add extra tests
...
llvm-svn: 271489
2016-06-02 05:44:14 +00:00
Eric Fiselier
9b903af3e9
Mark LWG issue 2218 as complete.
...
LWG issue 2218 relaxes a restriction on how containers can call
Alloc::construct(...) and Alloc::destroy(...). There is nothing new to test.
llvm-svn: 271477
2016-06-02 04:13:41 +00:00
Eric Fiselier
91ae4a078b
Mark LWG issue 2336 as complete. There is nothing to do.
...
llvm-svn: 271476
2016-06-02 04:08:03 +00:00
Eric Fiselier
4efa1ad561
Mark LWG issue 2250 as complete
...
llvm-svn: 271475
2016-06-02 04:03:31 +00:00
Eric Fiselier
d697ee41bc
Mark LWG issue 2450 as complete.
...
llvm-svn: 271473
2016-06-02 03:12:44 +00:00
Eric Fiselier
5725756791
Add C++17 std::not_fn negator.
...
Summary:
Exactly what it sounds like.
I plan to commit this in a couple of days assuming no objections.
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D20799
llvm-svn: 271464
2016-06-02 01:25:41 +00:00
Eric Fiselier
88f5bfdc5b
Implement P0033R1 - Re-enabling shared_from_this
...
Summary: See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0033r1.html
Reviewers: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D19254
llvm-svn: 271449
2016-06-02 00:15:35 +00:00
Eric Fiselier
7939ae5e08
Mark LWG issue 2520 as complete
...
llvm-svn: 271249
2016-05-31 04:27:57 +00:00
Eric Fiselier
5362bbb02a
Mark LWG issue 2276 as complete. Add _LIBCPP_ASSERTS for it
...
llvm-svn: 271247
2016-05-31 01:50:55 +00:00
Eric Fiselier
3bdbb10a48
Mark LWG issue 2537 as complete
...
llvm-svn: 271241
2016-05-31 01:11:20 +00:00
Eric Fiselier
0ddc14c256
Mark LWG issue #2585 as complete
...
llvm-svn: 271240
2016-05-31 01:03:07 +00:00
Eric Fiselier
4c46801fa7
Mark LWG issue 2565 as complete. Update the tests to check it.
...
llvm-svn: 271238
2016-05-31 00:23:31 +00:00
Eric Fiselier
928431af53
Mark LWG issue #2522 as complete
...
llvm-svn: 271231
2016-05-30 21:30:46 +00:00
Marshall Clow
2dd562e3d9
Mark LWG2583 as complete. I did this a while ago, and forgot to update the table.
...
llvm-svn: 269973
2016-05-18 19:31:01 +00:00
Marshall Clow
bc6a7df072
Implement LWG2576: istream_iterator and ostream_iterator should use std::addressof
...
llvm-svn: 269789
2016-05-17 17:44:40 +00:00
Marshall Clow
4328c2bac8
Implement P0030R1: Introduce a 3-Argument Overload to std::hypot
...
llvm-svn: 269772
2016-05-17 14:52:19 +00:00
Eric Fiselier
906c50859b
Fix LWG issue #2106 : move_iterators returning prvalues
...
llvm-svn: 267091
2016-04-22 00:49:12 +00:00
Eric Fiselier
d513ad88d5
Complete LWG issue #2016 . Allocators must be nothrow swappable
...
llvm-svn: 267085
2016-04-22 00:15:18 +00:00
Eric Fiselier
f07dd8d0a9
Add is_swappable/is_nothrow_swappable traits
...
llvm-svn: 267079
2016-04-21 23:38:59 +00:00
Eric Fiselier
840fa745ca
Add 'is_callable' and 'is_nothrow_callable' traits and cleanup INVOKE.
...
The primary purpose of this patch is to add the 'is_callable' traits.
Since 'is_nothrow_callable' required making 'INVOKE' conditionally noexcept
I also took this oppertunity to implement a constexpr version of INVOKE.
This fixes 'std::experimental::apply' which required constexpr 'INVOKE support'.
This patch will be followed up with some cleanup. Primarly removing most
of "__member_function_traits" since it's no longer used by INVOKE (in C++11 at least).
llvm-svn: 266836
2016-04-20 00:14:32 +00:00
Eric Fiselier
cf6bbd3909
Mark P0152R1 as complete.
...
llvm-svn: 266592
2016-04-18 06:58:50 +00:00
Eric Fiselier
87c4104d30
Mark LWG issue 2469 as done. Also simplify try_emplace and insert_or_assign implementations in unordered_map
...
llvm-svn: 266591
2016-04-18 06:51:33 +00:00
Eric Fiselier
2152fd7682
Implement LWG issue 2219 - support reference_wrapper in INVOKE
...
llvm-svn: 266590
2016-04-18 06:17:30 +00:00
Eric Fiselier
df691e18f3
Add hash specializations for __int128_t. Fixes LWG issue 2119
...
llvm-svn: 266587
2016-04-18 02:54:00 +00:00
Eric Fiselier
40fde4d33e
Add tests for LWG issue 2361
...
llvm-svn: 266586
2016-04-18 02:31:05 +00:00
Eric Fiselier
7a9f500fcb
Fix LWG issue 2345 - Add insert(value_type&&)
...
llvm-svn: 266585
2016-04-18 01:40:45 +00:00
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
0b54e792b7
Implement LWG2577: {shared,unique}_lock</tt> should use std::addressof
...
llvm-svn: 263506
2016-03-14 23:07:32 +00:00
Marshall Clow
c1fe2c4329
Implement LWG#2566: Requirements on the first template parameter of container adaptors
...
llvm-svn: 263450
2016-03-14 17:58:11 +00:00
Nico Weber
47c3a4743e
Revert r263036, it's ABI-breaking.
...
llvm-svn: 263246
2016-03-11 15:26:06 +00:00
Marshall Clow
ef13c522b4
Update status to mark 2579 complete
...
llvm-svn: 263043
2016-03-09 18:09:07 +00:00
Marshall Clow
e96f8b52d9
Implement LWG#2583: There is no way to supply an allocator for basic_string(str, pos)
...
llvm-svn: 263036
2016-03-09 17:51:43 +00:00
Marshall Clow
dd1729fe8a
Implement P0272R1: Give 'std::string' a non-const '.data()' member function
...
llvm-svn: 262931
2016-03-08 15:44:30 +00:00
Marshall Clow
28cc4dde49
Implement P0253R1: Fixing a design mistake in the searchers interface.
...
llvm-svn: 262928
2016-03-08 15:12:52 +00:00
Marshall Clow
146c14ac33
Implement P0025R0: 'An algorithm to clamp a value between a pair of boundary values' for C++17
...
llvm-svn: 262871
2016-03-07 22:43:49 +00:00
Marshall Clow
4b5d4fde68
Update with work items passed in Jacksonville
...
llvm-svn: 262807
2016-03-06 17:45:24 +00:00
Marshall Clow
21dc2c25e7
Update the status of a N4089 and a couple issues
...
llvm-svn: 261896
2016-02-25 16:55:58 +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
ad41a2f480
Mark LWG defect #2367 as complete
...
llvm-svn: 256597
2015-12-29 23:18:27 +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
Marshall Clow
b8427293df
Last bit of P0006; mark it as complete
...
llvm-svn: 254290
2015-11-30 05:39:30 +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
a9197737f9
LWG#2156 loosened the requirements on unordered containers 'rehash' calls. Add tests to make sure we meet these requirements. Since we met the stricter ones, no code change needed to meet the looser ones.
...
llvm-svn: 253223
2015-11-16 16:42:16 +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
7d5264fa44
Mark P0013 as 'in progress'
...
llvm-svn: 253212
2015-11-16 15:05:09 +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
8f8cdf34ac
Mark LWG#2486 as complete. Eric did this as part of r242959
...
llvm-svn: 252509
2015-11-09 20:49:15 +00:00
Marshall Clow
33adf230a7
Mark LWG#2224 as complete. Wording change only, no code changes required
...
llvm-svn: 252408
2015-11-07 17:56:51 +00:00
Marshall Clow
e5f1288fa0
Implement LWG#2353: std::next is over-constrained
...
llvm-svn: 252407
2015-11-07 17:48:49 +00:00