Marshall Clow
5820ae49ab
Update libc++ status pages with results of the Toronto Meeting - and for C++2a
...
llvm-svn: 308153
2017-07-16 23:59:23 +00:00
Marshall Clow
d994e3f35d
Update issues moved in Toronto
...
llvm-svn: 308097
2017-07-15 15:22:21 +00:00
Eric Fiselier
459877388b
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.
llvm-svn: 307117
2017-07-05 03:37:05 +00:00
Marshall Clow
797bcb40e3
Updated notest on 2974
...
llvm-svn: 306581
2017-06-28 18:19:34 +00:00
Marshall Clow
77957d19f8
Updated for the Toronto meeting
...
llvm-svn: 306269
2017-06-26 04:25:15 +00:00
Michael Park
aeb2c881ce
Mark LWG 2904 as complete.
...
llvm-svn: 304893
2017-06-07 10:27:17 +00:00
Marshall Clow
91a091cc00
Mark LWG#2900 as complete - we already do this, and I checked the tests in a couple days ago (r303268 & r303824)
...
llvm-svn: 303876
2017-05-25 16:05:54 +00:00
Eric Fiselier
c81c8cbe77
Fix broken links on C++1z status page
...
llvm-svn: 303835
2017-05-25 04:09:07 +00:00
Marshall Clow
c44a727ee4
Implement LWG#2790: Remove istreambuf_iterator::operator->. It never did anything useful.
...
llvm-svn: 303675
2017-05-23 18:55:32 +00:00
Marshall Clow
35f62e3228
Mark LWG#2782 as complete. No functionality change; we already do this. Just added a few more tests.
...
llvm-svn: 302802
2017-05-11 14:25:45 +00:00
Marshall Clow
afda4a9af9
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.
...
llvm-svn: 302799
2017-05-11 13:55:20 +00:00
Marshall Clow
9630f46dde
Mark LWG#2796 as complete. No functionality change; we had tests that covered it already. Just added comments to the tests
...
llvm-svn: 302798
2017-05-11 13:51:09 +00:00
Eric Fiselier
d75e451471
Implement LWG 2591 - Patch from K-Ballo
...
llvm-svn: 302724
2017-05-10 20:37:43 +00:00
Marshall Clow
ea9c5465dc
Mark LWG#2788 as complete - we already do this
...
llvm-svn: 300568
2017-04-18 17:22:49 +00:00
Marshall Clow
f0d59405f0
Mark LWG#2853 as complete. No code changes required, but added a couple of extra tests
...
llvm-svn: 300449
2017-04-17 13:19:14 +00:00
Eric Fiselier
4727272254
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.
llvm-svn: 300406
2017-04-16 01:51:04 +00:00
Eric Fiselier
2551475596
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.
llvm-svn: 300403
2017-04-15 19:32:02 +00:00
Marshall Clow
5948e39297
Implement LWG#2855 - made easy by previous refactoring
...
llvm-svn: 300218
2017-04-13 16:57:42 +00:00
Eric Fiselier
da04d79a1f
[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
llvm-svn: 300126
2017-04-12 23:08:46 +00:00
Marshall Clow
36bc71782d
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)
...
llvm-svn: 299963
2017-04-11 17:08:53 +00:00
Marshall Clow
220706cd6d
Mark P0599 as complete. It was implemented in r298573
...
llvm-svn: 299941
2017-04-11 14:04:03 +00:00
Eric Fiselier
dc808af38d
Fix LWG 2934 - optional<const T> doesn't compare with T
...
llvm-svn: 299105
2017-03-30 20:06:52 +00:00
Eric Fiselier
d3209f932f
Implement LWG 2842 - optional(U&&) needs to SFINAE on decay_t<in_place_t>
...
llvm-svn: 299100
2017-03-30 19:43:50 +00:00
Marshall Clow
c97d8aa866
Implement P0298R3: 'std::byte'. Reviewed as https://reviews.llvm.org/D31022
...
llvm-svn: 298689
2017-03-24 05:45:39 +00:00
Marshall Clow
6015dd11c8
Implement Pp0156r2: 'Variadic Lock Guard, version 5' Reviewed as https://reviews.llvm.org/D31163 .
...
llvm-svn: 298681
2017-03-24 03:40:36 +00:00
Marshall Clow
9bd9ed4d23
Implement P0548: 'common_type and duration' This involves a subtle change in the return type of the unary +/- operators for std::chrono::duration, though I expect that no one will notice.
...
llvm-svn: 298416
2017-03-21 18:38:57 +00:00
Marshall Clow
b49e06221c
Add two more papers from Kona, and sort them
...
llvm-svn: 298284
2017-03-20 18:18:09 +00:00
Marshall Clow
4069c2bc48
Implement LWG#2761: 'basic_string should require that charT match traits::char_type'. Tests for string_view, too
...
llvm-svn: 297872
2017-03-15 18:41:11 +00:00
Marshall Clow
47cc7e684f
Mark LWG issues 2868, 2872, and 2890 as complete. There's nothing we need to do for them.
...
llvm-svn: 297758
2017-03-14 17:35:56 +00:00
Marshall Clow
e1a292eafd
Also mark LWG#2785 as complete, because we already implemented that
...
llvm-svn: 297753
2017-03-14 17:24:29 +00:00
Marshall Clow
55cfe4c16b
Implement LWG2784, and mark 2786, 2795, 2804, 2812, 2826, 2834, 2837 and 2838 as complete - since we do them already
...
llvm-svn: 297752
2017-03-14 17:08:47 +00:00
Eric Fiselier
2c36b40a4b
Mark LWG 2806 as complete. Libc++ speculatively shiped this change in 4.0
...
llvm-svn: 297074
2017-03-06 21:09:02 +00:00
Eric Fiselier
ef7c5a6b9a
Mark LWG 2789 as complete. No changes required
...
llvm-svn: 297073
2017-03-06 21:07:18 +00:00
Eric Fiselier
bc9cbcedc1
Implement LWG 2787 - [file_status.cons] is inconsistent
...
llvm-svn: 297071
2017-03-06 21:02:06 +00:00
Eric Fiselier
fb07598bf7
Mark LWG 2781 as complete. No changes required
...
llvm-svn: 297069
2017-03-06 20:56:13 +00:00
Eric Fiselier
23e323f284
Mark two any_cast issues as complete
...
llvm-svn: 297066
2017-03-06 20:49:42 +00:00
Marshall Clow
921cab303c
Header update with info about the current status of C++17
...
llvm-svn: 297022
2017-03-06 16:09:02 +00:00
Marshall Clow
a6e3972bfc
Update list with changes from Kona meeting
...
llvm-svn: 297021
2017-03-06 16:06:02 +00:00
Eric Fiselier
3c35491f02
Update all bug URL's to point to https://bugs.llvm.org/ ...
...
llvm-svn: 295434
2017-02-17 08:37:03 +00:00
Eric Fiselier
2a1bfa98d1
[libcxx] Remove unexpected handlers in C++17
...
Summary:
This patch implements [P0003R5](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html ) which removes exception specifications from C++17.
The only changes to the library are removing `set_unexpected`, `get_unexpected`, `unexpected`, and `unexpected_handler`. These functions can be re-enabled in C++17 using `_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS`.
@mclow.lists what do you think about removing stuff is this way?
Reviewers: mclow.lists
Reviewed By: mclow.lists
Subscribers: mclow.lists, cfe-commits
Differential Revision: https://reviews.llvm.org/D28172
llvm-svn: 295406
2017-02-17 03:25:08 +00:00
Marshall Clow
077081d4d5
Update a couple of issue statuses
...
llvm-svn: 295355
2017-02-16 18:50:30 +00:00
Eric Fiselier
4ae0369b8e
Update info for LWG 2665 in upcoming_meeting.html
...
llvm-svn: 294501
2017-02-08 19:04:18 +00:00
Marshall Clow
891239e64f
Mark LWG2784 as ready
...
llvm-svn: 294311
2017-02-07 15:34:20 +00:00
Marshall Clow
7a1c0efff4
Add some tests to verify that we implement LWG#2837 correctly. No functional change.
...
llvm-svn: 294194
2017-02-06 16:03:23 +00:00
Marshall Clow
01595ef77d
Fix a typo - extra '>'
...
llvm-svn: 294190
2017-02-06 15:29:03 +00:00
Marshall Clow
62ab88143e
Set up 'upcoming meeting' bug list
...
llvm-svn: 294189
2017-02-06 15:17:22 +00:00
Eric Fiselier
25e9c7aa55
Mark LWG 2765 as complete. No changes needed
...
llvm-svn: 294167
2017-02-06 02:41:49 +00:00
Eric Fiselier
9af60c4a8b
Implement LWG 2773 - std::ignore should be constexpr.
...
In addition to the PR for LWG 2773 this patch also ensures
that each of std::ignores constructors or assignment operators
are constexpr.
llvm-svn: 294165
2017-02-06 01:25:31 +00:00
Marshall Clow
a98b5fd999
Fixed a couple of invalid statuses for 2665 and 2758
...
llvm-svn: 293179
2017-01-26 14:36:14 +00:00
Marshall Clow
3cd9e94241
Implement LWG2556: Wide contract for future::share()
...
llvm-svn: 292992
2017-01-24 23:28:25 +00:00