Commit Graph

566 Commits

Author SHA1 Message Date
Marshall Clow
b25029437e Implement LWG#2948: unique_ptr does not define operator<< for stream output
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@319038 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-27 15:51:36 +00:00
Marshall Clow
0140bb8196 Update C++2a status and add Glen to CREDITS.TXT. Reviewed as https://reviews.llvm.org/D40379
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318919 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-23 14:50:56 +00:00
Marshall Clow
aa0e236289 Implement p0137r1 - std::launder. Reviewed as https://reviews.llvm.org/D40144
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318864 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-22 19:49:03 +00:00
Marshall Clow
52728778fa Implement LWG2950: std::byte operations are misspecified
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318125 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-14 01:14:53 +00:00
Marshall Clow
e1cfe7a7f6 Implement LWG2952: iterator_traits should work for pointers to cv T
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318119 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-14 00:03:10 +00:00
Marshall Clow
928f2866ec Put the status in the wrong column
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318012 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-13 04:15:39 +00:00
Marshall Clow
edd7e051d4 Implement P0550R2: Transformation Trait remove_cvref
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318011 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-13 03:59:22 +00:00
Marshall Clow
7513814cb6 Two more papers from Albuquerque
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318000 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-12 18:52:16 +00:00
Marshall Clow
55eda5dfcc Updated C++2a status page with new features/defects approved in Albuquerque.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@317996 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-12 18:48:42 +00:00
Marshall Clow
e3853bfecd Mark Endian as 'in progress'
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@317209 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-02 14:53:08 +00:00
Marshall Clow
d422c95317 More statuses, a new patch, too
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@317074 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-01 04:03:35 +00:00
Marshall Clow
67371161a0 Fix broken links; update more issues.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@316970 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-31 00:19:47 +00:00
Marshall Clow
9bc42cf1d7 Initial triage
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@316874 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-29 21:57:58 +00:00
Marshall Clow
a12eafc284 Update status of 2950
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@316873 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-29 21:43:30 +00:00
Marshall Clow
23d0bd265d Issues to be voted on in ABQ
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@316867 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-29 19:02:00 +00:00
Stephan T. Lavavej
a1ae67bc89 [libcxx] [www] Change an absolute link to cxx1z_status.html to be relative.
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312263 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:51 +00:00
Stephan T. Lavavej
b8813f3bde [libcxx] [www] Strip trailing whitespace.
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312262 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:48 +00:00
Stephan T. Lavavej
aeea9b0310 [libcxx] [www] Fix broken link for LLVM Bugzilla.
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312261 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:46 +00:00
Stephan T. Lavavej
f966d3f5c4 [libcxx] [www] Manually change http links to https.
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312260 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:42 +00:00
Stephan T. Lavavej
1e708af617 [libcxx] [www] Semi-manually change http://www.open-std.org and http://isocpp.org papers to https://wg21.link .
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312259 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:39 +00:00
Stephan T. Lavavej
35509d0fae [libcxx] [www] Change http://cplusplus.github.io/LWG/lwg-defects.html# to https://wg21.link/lwg .
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312258 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:36 +00:00
Stephan T. Lavavej
819264f0ff [libcxx] [www] Change http://wg21.link to https://wg21.link .
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312257 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:33 +00:00
Eric Fiselier
4876a73b0a Mark LWG 2942 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309528 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-30 22:28:08 +00:00
Eric Fiselier
923850ddb2 Mark LWG 2961 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309527 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-30 22:16:30 +00:00
Marshall Clow
f226a28d61 Implement P0739R0: 'Some improvements to class template argument deduction integration into the standard library' This is an API change (not ABI change) due to a late change in the c++17 standard
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309296 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-27 17:44:03 +00:00
Marshall Clow
893ac44f2a Update libc++ status pages with results of the Toronto Meeting - and for C++2a
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@308153 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-16 23:59:23 +00:00
Marshall Clow
4649a1eae0 Update issues moved in Toronto
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@308097 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-15 15:22:21 +00:00
Eric Fiselier
3288eac673 Implement LWG 2937 - equivalent("dne", "exists") is not an error
This patch speculatively implements the PR for LWG 2937, which fixes
two issues with equivalent.

(1) It makes equivalent("dne", "exists") an error. Previously only
    equivalent("dne", "dne") was an error and the former case was not (it returned false).
    Now equivalent reports an error when either input doesn't exist.

(2) It makes equivalent(p1, p2) well-formed when `is_other(p1) && is_other(p2)`.
    Previously this was an error, but there is seemingly no reason why it should be on POSIX system.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@307117 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-05 03:37:05 +00:00
Marshall Clow
c98c89099a Updated notest on 2974
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@306581 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-28 18:19:34 +00:00
Marshall Clow
2ac0ed06e2 Updated for the Toronto meeting
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@306269 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-26 04:25:15 +00:00
Michael Park
8f0ca59708 Mark LWG 2904 as complete.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@304893 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-07 10:27:17 +00:00
Marshall Clow
8a80169b01 Mark LWG#2900 as complete - we already do this, and I checked the tests in a couple days ago (r303268 & r303824)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303876 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-25 16:05:54 +00:00
Eric Fiselier
8392d4940d Fix broken links on C++1z status page
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303835 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-25 04:09:07 +00:00
Marshall Clow
a9197bd465 Implement LWG#2790: Remove istreambuf_iterator::operator->. It never did anything useful.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303675 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-23 18:55:32 +00:00
Marshall Clow
83c266a94f Mark LWG#2782 as complete. No functionality change; we already do this. Just added a few more tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302802 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 14:25:45 +00:00
Marshall Clow
4cbf03ea88 Mark LWG#2850 as complete. No functionality change; we had tests that covered it already. Just added comments to the tests. Thanks to K-ballo for the heads up.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302799 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 13:55:20 +00:00
Marshall Clow
8fdd8117a9 Mark LWG#2796 as complete. No functionality change; we had tests that covered it already. Just added comments to the tests
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302798 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 13:51:09 +00:00
Eric Fiselier
76515a2dcf Implement LWG 2591 - Patch from K-Ballo
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302724 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-10 20:37:43 +00:00
Marshall Clow
2f2efbd520 Mark LWG#2788 as complete - we already do this
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300568 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-18 17:22:49 +00:00
Marshall Clow
5e1df5e170 Mark LWG#2853 as complete. No code changes required, but added a couple of extra tests
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300449 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-17 13:19:14 +00:00
Eric Fiselier
a4fd0c9d61 Overhaul unique_ptr - Implement LWG 2801, 2905, 2520.
This patch overhauls both specializations of unique_ptr while implementing
the following LWG issues:

* LWG 2801 - This issue constrains unique_ptr's constructors when the deleter type
  is not default constructible. Additionally it adds SFINAE conditions
  to unique_ptr<T[]>::unique_ptr(Up).

* LWG 2905 - This issue reworks the unique_ptr(pointer, /* see below */ deleter)
  constructors so that they correctly SFINAE when the deleter argument cannot
  be used to construct the stored deleter.

* LWG 2520 - This issue fixes initializing unique_ptr<T[]> from nullptr.
  Libc++ had previously implemented this issue, but the suggested resolution
  still broke initialization from NULL. This patch re-works the
  unique_ptr<T[]>(Up, deleter) overloads so that they accept NULL as well
  as nullptr.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300406 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-16 01:51:04 +00:00
Eric Fiselier
98d9a858da Implement LWG 2857 for variant. Tests from Casey Carter @ Microsoft.
Also mark LWG 2857 as complete, since the changes to optional and
any were completed by Marshall earlier.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300403 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-15 19:32:02 +00:00
Marshall Clow
6403571b40 Implement LWG#2855 - made easy by previous refactoring
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300218 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-13 16:57:42 +00:00
Eric Fiselier
7b41c797ba [libc++] Implement LWG 2911 - add an is_aggregate type-trait
Summary:
This patch implements http://cplusplus.github.io/LWG/lwg-defects.html#2911.

I'm putting this up for review until __is_aggregate is added to clang (See D31513)

Reviewers: mclow.lists

Reviewed By: mclow.lists

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300126 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-12 23:08:46 +00:00
Marshall Clow
01208afbd6 Implement LWG#2873: 'Add noexcept to several shared_ptr related functions' This issue missed a couple, so I added those as well (see LWG#2942)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299963 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-11 17:08:53 +00:00
Marshall Clow
41324261fa Mark P0599 as complete. It was implemented in r298573
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299941 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-11 14:04:03 +00:00
Eric Fiselier
2b3c1c4d9b Fix LWG 2934 - optional<const T> doesn't compare with T
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299105 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-30 20:06:52 +00:00
Eric Fiselier
5612bd42dc Implement LWG 2842 - optional(U&&) needs to SFINAE on decay_t<in_place_t>
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299100 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-30 19:43:50 +00:00
Marshall Clow
21ae16e203 Implement P0298R3: 'std::byte'. Reviewed as https://reviews.llvm.org/D31022
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@298689 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-24 05:45:39 +00:00
Marshall Clow
59bcc879ab Implement Pp0156r2: 'Variadic Lock Guard, version 5' Reviewed as https://reviews.llvm.org/D31163.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@298681 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-24 03:40:36 +00:00