Commit Graph

148 Commits

Author SHA1 Message Date
Marshall Clow
3df90c94a3 Implement P0505: 'Wording for GB 50'
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@291028 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-04 23:03:24 +00:00
Marshall Clow
e22af6b758 Implement the last bit of P0031: 'A Proposal to Add Constexpr Modifiers to reverse_iterator, move_iterator, array and Range Access' for C++17
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290976 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-04 17:58:17 +00:00
Eric Fiselier
d28b523b58 Update year to 2017
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290876 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-03 11:20:43 +00:00
Eric Fiselier
9f988e6e4e Update "Making Optional Greater Equal Again" paper status
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290742 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-30 04:16:30 +00:00
Eric Fiselier
046a71be67 Implement P0435R1 - Resolving LWG issues for common_type
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290627 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-27 21:16:48 +00:00
Eric Fiselier
6d95982406 Recommit r286884: P0503R0, adopted in Issaquah, rewords some requirements on nullptr_t and istream_iterator.
No code changes were needed, but I updated a few tests.
Also resolved P0509 and P0521, which required no changes to the library or tests.

This patch was reverted due to llvm.org/PR31016. There is a bug in Clang 3.7
which causes default.pass.cpp to fails. That test is now marked as XFAIL for that
clang version.

This patch was originally authored by Marshall Clow.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289708 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-14 21:22:48 +00:00
Eric Fiselier
b5c2c47fb6 Update status page for variant implementation
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288625 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-04 22:14:53 +00:00
Eric Fiselier
dd74cd25d5 Mark various <variant> items as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288574 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-03 02:47:40 +00:00
Vedant Kumar
e3cb222597 Revert "P0503R0, adopted in Issaquah, rewords some requirements on nullptr_t and istream_iterator. No code changes were needed, but I updated a few tests. Also resolved P0509 and P0521, which required no changes to the library or tests."
This reverts commit r286884, because it breaks the Xcode 7 builders:

  http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-expensive/1583

Here is a PR that tracks the issue:
https://llvm.org/bugs/show_bug.cgi?id=31016

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@287004 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-15 18:48:36 +00:00
Marshall Clow
506f7fcee5 P0503R0, adopted in Issaquah, rewords some requirements on nullptr_t and istream_iterator. No code changes were needed, but I updated a few tests. Also resolved P0509 and P0521, which required no changes to the library or tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286884 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 20:41:17 +00:00
Marshall Clow
3d7c49b7b0 Implement P0516: 'Clarify That shared_future’s Copy Operations have Wide Contracts' which was adopted last week in Issaquah
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286877 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 19:58:05 +00:00
Marshall Clow
5ec20dfb48 Implement P0510 'Make future_error Constructible' adopted in Issaquah
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286864 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 18:56:24 +00:00
Marshall Clow
db7fa111ab Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286858 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 18:22:19 +00:00
Marshall Clow
59368dd5fe Update C++1z status with LWG papers from Issaquah.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286835 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 15:09:45 +00:00
Marshall Clow
496fc7ff0c Update C++1z status with LFTS issues from Issaquah.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286834 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 14:53:07 +00:00
Marshall Clow
d521adc297 Update C++1z status with C++17 issues from Issaquah. Still to come: LFTS issues and papers
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286828 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 14:41:33 +00:00
Marshall Clow
4414a6a911 Implement constexpr support for reverse_iterator. Reviewed as https://reviews.llvm.org/D25534
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284602 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-19 15:12:50 +00:00
Marshall Clow
426eb5dd44 Update the status of three papers that do not require library changes
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284165 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 21:15:09 +00:00
Marshall Clow
e29fb4c411 Implement http://wg21.link/p0302r1: Removing Allocator Support in std::function. These functions never worked, and as far as I know, no one ever called them.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284164 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 21:06:03 +00:00
Eric Fiselier
508f208ae9 Fix LWG2683 - filesystem::copy() should always clear the user-provided error_code
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283951 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-11 22:18:09 +00:00
Eric Fiselier
17c38db650 Mark LWG 2716 as complete - shuffle and sample disallows lvalue URNGs.
Libc++'s implementation of shuffle and sample already support lvalue and rvalue
RNG's. This patch adds tests for both categories and marks the issue as complete.

This patch also contains drive-by change for std::experimental::sample which
improves the diagnostics produced when the correct iterator categories are
not supplied.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@279947 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-28 21:55:00 +00:00
Eric Fiselier
113315b9a4 Implement LWG 2711. Constrain path members.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@279945 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-28 21:26:01 +00:00
Eric Fiselier
e739d54f86 [libcxx] Add std::any
Summary:
This patch adds std::any by moving/adapting <experimental/any>.

This patch also implements the std::any parts of p0032r3 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0032r3.pdf)
and LWG 2509 (http://cplusplus.github.io/LWG/lwg-defects.html#2509).

I plan to push it in a day or two if there are no comments.


Reviewers: mclow.lists, EricWF

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D22733

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@278310 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-11 03:13:11 +00:00
Eric Fiselier
83e9013655 Mark LWG 2726 as complete. No code change needed.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@277964 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-07 21:47:06 +00:00
Marshall Clow
1c1e91d9a3 Implement LCM and GCD for C++17. Same code as for Library Fundamentals TS.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276751 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-26 14:29:45 +00:00
Eric Fiselier
e1445fd8ed Implement the std::pair parts of "Improving pair and tuple". Completes N4387.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276605 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-25 04:32:07 +00:00
Eric Fiselier
e1a41a9f4d Implement LWG 2393. Check for LValue-callability.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276546 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-24 04:16:40 +00:00
Eric Fiselier
7f630e8ffa Implement LWG2328. Rvalue stream extraction should perfect forward.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276545 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-24 04:07:22 +00:00
Eric Fiselier
c672a7453d Implement P0040r3: Extending memory management tools
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276544 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-24 03:51:39 +00:00
Eric Fiselier
2645dbe87f Implement P0392r0. Integrate filesystem::path and string_view.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276511 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-23 03:10:56 +00:00
Eric Fiselier
f50841f3ac Mark P0358r1 as complete. It is already implemented
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276233 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-21 03:28:52 +00:00
Eric Fiselier
4a2b9335bb Mark P0337r0 as complete. It was already implemented in std::experimental
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276231 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-21 03:24:43 +00:00
Eric Fiselier
3816ef98b1 Implement P0084r2. Changing emplace return types.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276230 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-21 03:20:17 +00:00
Eric Fiselier
5839fedf28 Implement C++17 tuple bits. Including apply and make_from_tuple.
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.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@275745 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-18 00:35:56 +00:00
Marshall Clow
211f9a485c Add more tests for LWG#2582. No code changes needed, just tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@275211 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-12 20:15:46 +00:00
Marshall Clow
3384fa62f2 mark issue #2422 as complete; this was just a wording clarification
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@275177 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-12 15:29:35 +00:00
Marshall Clow
d7a7384e04 mark issue #2181 as complete; this was just a wording clarification
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@275176 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-12 15:15:55 +00:00
Marshall Clow
6f4713b2d5 Put the status in the right column
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@275171 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-12 14:38:59 +00:00
Marshall Clow
683272df82 Mark P0067 as 'postponed', because it will be revised before the next meeting
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@275170 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-12 14:37:39 +00:00
Marshall Clow
dd18d90adf Mark issues 2550, 2551, 2555, 2685, 2698 as complete. These issues are wording clarifications; no code changes required.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274255 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 18:05:19 +00:00
Marshall Clow
d94c7765c6 Mark issues 2667, 2669, 2670, 2671, 2673 as complete. These issues are wording clarifications; no code changes required.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274253 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 17:59:01 +00:00
Marshall Clow
0b02cf8cf1 Implement LWG#2688: 'clamp misses preconditions and has extraneous condition on result'. We already did this, just added tests
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274252 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 17:52:51 +00:00
Marshall Clow
256814f751 Implement LWG#2684: 'priority_queue lacking comparator typedef'. We already did this, just added tests
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274243 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 16:03:50 +00:00
Marshall Clow
f0419f1dcc Implement LWG#2596: 'vector::data() should use addressof'
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274241 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 15:50:55 +00:00
Marshall Clow
ca894508f9 Implement LWG#2441: 'Exact-width atomic typedefs should be provided'
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274236 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 15:28:38 +00:00
Marshall Clow
0c99f18af4 Implement LWG#2436: 'Comparators for associative containers should always be CopyConstructible'
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274235 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 15:11:53 +00:00
Eric Fiselier
3e9545e035 Update status of already completed Oulu issues.
* P0163r0: Implemented in r273839.

* LWG 2309: pthread_mutex_lock only returns this error if certain debug flags
  were passed during construction. libc++ does not pass these flags. There is
  nothing to do.

* LWG 2310: Wording fix. No impact on libc++'s implementation.

* LWG 2312: libc++'s std::tuple implementation already constrains the overloads
  based on the number of arguments.

* LWG 2549: libc++'s std::tuple already applied this fix.

* LWG 2674: libc++ already depends on this relaxed wording.

* LWG 2704, 2706, 2707, 2719, 2720, 2721, 2723, 2725, 2728: All of these filesystem were either
  submitted by me and fixed before submission, or have already been applied.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274214 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 06:59:29 +00:00
Marshall Clow
05d5c05fe8 Use WG21.link reflector to get to issues, rather than linking directly
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274018 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-28 14:13:28 +00:00
Marshall Clow
01ac037a5b Updated C++1Z status page with new work from Oulu WG21 meeting
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274016 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-28 14:11:54 +00:00
Marshall Clow
871506f9c2 Fix bad link for P0006
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@273861 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 11:14:34 +00:00