Commit Graph

633 Commits

Author SHA1 Message Date
Eric Fiselier
8a8c114479 Mark LWG issue 2520 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271249 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31 04:27:57 +00:00
Eric Fiselier
b169bb00d1 Mark LWG issue 2276 as complete. Add _LIBCPP_ASSERTS for it
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271247 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31 01:50:55 +00:00
Eric Fiselier
7883d02159 Mark LWG issue 2537 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271241 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31 01:11:20 +00:00
Eric Fiselier
7d1c44c360 Mark LWG issue #2585 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271240 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31 01:03:07 +00:00
Eric Fiselier
979137793e Mark LWG issue 2565 as complete. Update the tests to check it.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271238 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31 00:23:31 +00:00
Eric Fiselier
e058f63592 Mark LWG issue #2522 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271231 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-30 21:30:46 +00:00
Marshall Clow
ea76b4432d Mark LWG2583 as complete. I did this a while ago, and forgot to update the table.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@269973 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-18 19:31:01 +00:00
Marshall Clow
d8fc1ec894 Implement LWG2576: istream_iterator and ostream_iterator should use std::addressof
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@269789 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-17 17:44:40 +00:00
Marshall Clow
2c15439dd3 Implement P0030R1: Introduce a 3-Argument Overload to std::hypot
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@269772 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-17 14:52:19 +00:00
Eric Fiselier
1354c943ad Update TS implementation status page
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@268844 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-07 03:24:31 +00:00
Eric Fiselier
df46b78ce7 Fix LWG issue #2106: move_iterators returning prvalues
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267091 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-22 00:49:12 +00:00
Eric Fiselier
c6c26a44de Complete LWG issue #2016. Allocators must be nothrow swappable
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267085 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-22 00:15:18 +00:00
Eric Fiselier
8f1e73dfd2 Add is_swappable/is_nothrow_swappable traits
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267079 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-21 23:38:59 +00:00
Eric Fiselier
8d5cbd7ce2 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).


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@266836 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-20 00:14:32 +00:00
Eric Fiselier
1350927628 Mark P0152R1 as complete.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@266592 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-18 06:58:50 +00:00
Eric Fiselier
2e37f92b52 Mark LWG issue 2469 as done. Also simplify try_emplace and insert_or_assign implementations in unordered_map
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@266591 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-18 06:51:33 +00:00
Eric Fiselier
134ff65b8f Implement LWG issue 2219 - support reference_wrapper in INVOKE
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@266590 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-18 06:17:30 +00:00
Eric Fiselier
b952822a48 Add hash specializations for __int128_t. Fixes LWG issue 2119
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@266587 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-18 02:54:00 +00:00
Eric Fiselier
c325f3dccf Add tests for LWG issue 2361
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@266586 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-18 02:31:05 +00:00
Eric Fiselier
91a156579e Fix LWG issue 2345 - Add insert(value_type&&)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@266585 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-18 01:40:45 +00:00
Eric Fiselier
547d4a0764 Update filesystem status
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@265856 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-08 21:52:32 +00:00
Eric Fiselier
735026e3ee Make std::addressof constexpr in C++17 (Clang only).
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@263688 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-17 03:30:56 +00:00
Marshall Clow
e22d9e58d3 Implement LWG2577: {shared,unique}_lock</tt> should use std::addressof
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@263506 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-14 23:07:32 +00:00
Marshall Clow
ed77ffbc4d Implement LWG#2566: Requirements on the first template parameter of container adaptors
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@263450 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-14 17:58:11 +00:00
Nico Weber
fadd1db573 Revert r263036, it's ABI-breaking.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@263246 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-11 15:26:06 +00:00
Marshall Clow
a3f5b39348 Update status to mark 2579 complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@263043 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 18:09:07 +00:00
Marshall Clow
ff0b9f5749 Implement LWG#2583: There is no way to supply an allocator for basic_string(str, pos)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@263036 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 17:51:43 +00:00
Marshall Clow
f532a70b63 Implement P0272R1: Give 'std::string' a non-const '.data()' member function
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@262931 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 15:44:30 +00:00
Marshall Clow
f6d6b51b63 Implement P0253R1: Fixing a design mistake in the searchers interface.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@262928 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 15:12:52 +00:00
Marshall Clow
3e0808efb8 Implement P0025R0: 'An algorithm to clamp a value between a pair of boundary values' for C++17
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@262871 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-07 22:43:49 +00:00
Marshall Clow
60d223df07 Update with work items passed in Jacksonville
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@262807 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-06 17:45:24 +00:00
Marshall Clow
72cb14cff6 more status updates
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@261926 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-25 20:17:03 +00:00
Marshall Clow
716030e588 Update the status of a N4089 and a couple issues
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@261896 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-25 16:55:58 +00:00
Marshall Clow
0f0903b78d Fix a missing closing tag
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@261677 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 19:48:44 +00:00
Marshall Clow
435ccb367d More updates
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@261676 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 19:48:09 +00:00
Marshall Clow
54b5f6f132 More updates
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@261655 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 17:07:15 +00:00
Marshall Clow
d052c68671 More updates; patch for 2583 ready
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@261647 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 16:20:24 +00:00
Marshall Clow
62d5d15103 Add some status
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@260975 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-16 16:05:15 +00:00
Marshall Clow
15312aa265 Add some comments
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@260966 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-16 14:42:23 +00:00
Marshall Clow
0e4ed2fbbb Added a (private) status page for the Jacksonville meeting
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@260964 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-16 14:35:56 +00:00
Marshall Clow
73de880a44 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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@258697 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-25 17:29:55 +00:00
Marshall Clow
7a7960ff7f 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@258418 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-21 18:22:43 +00:00
Eric Fiselier
e9cac661b4 Mark LWG defect #2367 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@256597 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-29 23:18:27 +00:00
Eric Fiselier
199bee0ea7 [libcxx] LWG2485: get() should be overloaded for const tuple&&. Patch from K-Ballo.
Review: http://reviews.llvm.org/D14839

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@255941 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-18 00:36:55 +00:00
Marshall Clow
5be047d322 Cleaned up the intro for the TS status page; really need much more info here
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@254971 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-08 00:08:23 +00:00
Marshall Clow
a3866e4c89 Last bit of P0006; mark it as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@254290 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-30 05:39:30 +00:00
Marshall Clow
f60d092766 Implement P0007: Constant View: A proposal for a std::as_const helper function template.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@253274 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-17 00:08:08 +00:00
Marshall Clow
7b7c9ec355 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@253223 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-16 16:42:16 +00:00
Marshall Clow
fe99a30bd0 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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@253215 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-16 15:54:13 +00:00
Marshall Clow
98984f23c6 Mark P0013 as 'in progress'
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@253212 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-16 15:05:09 +00:00