Marshall Clow
fbb0a5aa3f
Implement P0550R2: Transformation Trait remove_cvref
...
llvm-svn: 318011
2017-11-13 03:59:22 +00:00
Marshall Clow
199216376a
Two more papers from Albuquerque
...
llvm-svn: 318000
2017-11-12 18:52:16 +00:00
Marshall Clow
952d249987
Updated C++2a status page with new features/defects approved in Albuquerque.
...
llvm-svn: 317996
2017-11-12 18:48:42 +00:00
Marshall Clow
c83386cad8
Mark Endian as 'in progress'
...
llvm-svn: 317209
2017-11-02 14:53:08 +00:00
Marshall Clow
3293ddb7ad
More statuses, a new patch, too
...
llvm-svn: 317074
2017-11-01 04:03:35 +00:00
Marshall Clow
336c30e299
Fix broken links; update more issues.
...
llvm-svn: 316970
2017-10-31 00:19:47 +00:00
Marshall Clow
ccbb496b56
Initial triage
...
llvm-svn: 316874
2017-10-29 21:57:58 +00:00
Marshall Clow
4a9ee9caaa
Update status of 2950
...
llvm-svn: 316873
2017-10-29 21:43:30 +00:00
Marshall Clow
4e18fe9ac8
Issues to be voted on in ABQ
...
llvm-svn: 316867
2017-10-29 19:02:00 +00:00
Stephan T. Lavavej
6f297ba8a9
[libcxx] [www] Change an absolute link to cxx1z_status.html to be relative.
...
Fixes D37318.
llvm-svn: 312263
2017-08-31 17:59:51 +00:00
Stephan T. Lavavej
9c88eeb68d
[libcxx] [www] Strip trailing whitespace.
...
Fixes D37318.
llvm-svn: 312262
2017-08-31 17:59:48 +00:00
Stephan T. Lavavej
98fa5d4a97
[libcxx] [www] Fix broken link for LLVM Bugzilla.
...
Fixes D37318.
llvm-svn: 312261
2017-08-31 17:59:46 +00:00
Stephan T. Lavavej
69c2e1336f
[libcxx] [www] Manually change http links to https.
...
Fixes D37318.
llvm-svn: 312260
2017-08-31 17:59:42 +00:00
Stephan T. Lavavej
907c1ab603
[libcxx] [www] Semi-manually change http://www.open-std.org and http://isocpp.org papers to https://wg21.link .
...
Fixes D37318.
llvm-svn: 312259
2017-08-31 17:59:39 +00:00
Stephan T. Lavavej
1dc1fa2347
[libcxx] [www] Change http://cplusplus.github.io/LWG/lwg-defects.html# to https://wg21.link/lwg .
...
Fixes D37318.
llvm-svn: 312258
2017-08-31 17:59:36 +00:00
Stephan T. Lavavej
2956ea46cd
[libcxx] [www] Change http://wg21.link to https://wg21.link .
...
Fixes D37318.
llvm-svn: 312257
2017-08-31 17:59:33 +00:00
Eric Fiselier
6301546b3d
Mark LWG 2942 as complete
...
llvm-svn: 309528
2017-07-30 22:28:08 +00:00
Eric Fiselier
1190335f9d
Mark LWG 2961 as complete
...
llvm-svn: 309527
2017-07-30 22:16:30 +00:00
Marshall Clow
88c893cc33
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
...
llvm-svn: 309296
2017-07-27 17:44:03 +00:00
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
Marshall Clow
63b560be69
Change the return type of emplace_[front|back] back to void when building with C++14 or before. Resolves PR31680.
...
llvm-svn: 292990
2017-01-24 23:09:12 +00:00
Marshall Clow
1ee7bf6313
Update status for LWG2733
...
llvm-svn: 292967
2017-01-24 19:37:09 +00:00
Marshall Clow
77dd30b557
Mark LWG2736 as complete. No code changes, but we have more tests now
...
llvm-svn: 292958
2017-01-24 18:03:32 +00:00
Marshall Clow
cddeb751a1
Implement LWG#2778: basic_string_view is missing constexpr.
...
llvm-svn: 292823
2017-01-23 19:53:28 +00:00
Eric Fiselier
f9127593a9
Implement P0513R0 - "Poisoning the Hash"
...
Summary:
Exactly what the title says.
This patch also adds a `std::hash<nullptr_t>` specialization in C++17, but it was not added by this paper and I can't find the actual paper that adds it.
See http://wg21.link/P0513R0 for more info.
If there are no comments in the next couple of days I'll commit this
Reviewers: mclow.lists, K-ballo, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28938
llvm-svn: 292684
2017-01-21 00:02:12 +00:00
Marshall Clow
c3cb054e0c
Mark two of the TS implementations as 'in progress'
...
llvm-svn: 292490
2017-01-19 15:30:36 +00:00
Marshall Clow
2f116c432d
Mark 'constexpr char_traits' as complete.
...
llvm-svn: 292000
2017-01-14 05:55:17 +00:00
Marshall Clow
8fd58a6be8
Implement P0403R1 - 'Literal suffixes for basic_string_view'. Requires clang 4.0 (specifically, r290744)
...
llvm-svn: 291457
2017-01-09 18:07:34 +00:00
Marshall Clow
dbf7ca9ce6
Implement P0505: 'Wording for GB 50'
...
llvm-svn: 291028
2017-01-04 23:03:24 +00:00
Marshall Clow
020b623a3b
Implement the last bit of P0031: 'A Proposal to Add Constexpr Modifiers to reverse_iterator, move_iterator, array and Range Access' for C++17
...
llvm-svn: 290976
2017-01-04 17:58:17 +00:00
Eric Fiselier
649dcec527
Update year to 2017
...
llvm-svn: 290876
2017-01-03 11:20:43 +00:00
Eric Fiselier
28727b81ef
Update "Making Optional Greater Equal Again" paper status
...
llvm-svn: 290742
2016-12-30 04:16:30 +00:00
Eric Fiselier
687d3213f0
Implement a throwing version of _LIBCPP_ASSERT.
...
This patch implements changes to allow _LIBCPP_ASSERT to throw on failure
instead of aborting. The main changes needed to do this are:
1. Change _LIBCPP_ASSERT to call a handler via a replacable function pointer
instead of calling abort directly. Additionally this patch implements two
handler functions, one which aborts and another that throws an exception.
2. Add _NOEXCEPT_DEBUG macro for disabling noexcept spec on function which
contain _LIBCPP_ASSERT. This is required in order to prevent assertion
failures throwing through a noexcept function. This macro has no effect
unless _LIBCPP_DEBUG_USE_EXCEPTIONS is defined.
Having a non-aborting _LIBCPP_ASSERT is very important to allow sane testing of
debug mode. Currently we can only have one test case per file, since the test
case will cause the program to abort. Testing debug mode this way would require
thousands of test files, most of which would be 95% boiler plate. I don't think
this is a feasible strategy. Fortunately using a throwing debug handler solves
these issues.
Additionally this patch rewrites the documentation for debug mode.
llvm-svn: 290651
2016-12-28 04:58:52 +00:00
Eric Fiselier
14b1bcc14b
Implement P0435R1 - Resolving LWG issues for common_type
...
llvm-svn: 290627
2016-12-27 21:16:48 +00:00
Eric Fiselier
fec6be9c81
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.
llvm-svn: 289708
2016-12-14 21:22:48 +00:00
Eric Fiselier
11b932b0d9
Update status page for variant implementation
...
llvm-svn: 288625
2016-12-04 22:14:53 +00:00
Eric Fiselier
9a0b4abbba
Mark various <variant> items as complete
...
llvm-svn: 288574
2016-12-03 02:47:40 +00:00
Vedant Kumar
50d161ce0f
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
llvm-svn: 287004
2016-11-15 18:48:36 +00:00
Marshall Clow
48b520a7b6
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.
...
llvm-svn: 286884
2016-11-14 20:41:17 +00:00
Marshall Clow
065b3af096
Implement P0516: 'Clarify That shared_future’s Copy Operations have Wide Contracts' which was adopted last week in Issaquah
...
llvm-svn: 286877
2016-11-14 19:58:05 +00:00
Marshall Clow
87f2f1687e
Implement P0510 'Make future_error Constructible' adopted in Issaquah
...
llvm-svn: 286864
2016-11-14 18:56:24 +00:00
Marshall Clow
1c7fe126ee
Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah
...
llvm-svn: 286858
2016-11-14 18:22:19 +00:00
Marshall Clow
539dd132ef
Update C++1z status with LWG papers from Issaquah.
...
llvm-svn: 286835
2016-11-14 15:09:45 +00:00
Marshall Clow
1d44f0fb46
Update C++1z status with LFTS issues from Issaquah.
...
llvm-svn: 286834
2016-11-14 14:53:07 +00:00
Marshall Clow
c0681d2b0e
Update C++1z status with C++17 issues from Issaquah. Still to come: LFTS issues and papers
...
llvm-svn: 286828
2016-11-14 14:41:33 +00:00
Marshall Clow
1b8f260ed9
Implement constexpr support for reverse_iterator. Reviewed as https://reviews.llvm.org/D25534
...
llvm-svn: 284602
2016-10-19 15:12:50 +00:00
Eric Fiselier
9db689263e
Update LWG 2754 status
...
llvm-svn: 284326
2016-10-16 03:52:48 +00:00
Eric Fiselier
f72aaff994
Update LWG 2767 and add test case
...
llvm-svn: 284324
2016-10-16 03:45:06 +00:00
Eric Fiselier
015fcffd57
Update status for std::optional LWG issues and fix an optional SFINAE bug
...
llvm-svn: 284323
2016-10-16 03:21:35 +00:00
Eric Fiselier
50253ed1c6
Update issue status for LWG 2744
...
llvm-svn: 284322
2016-10-16 02:51:50 +00:00
Eric Fiselier
9c737fddba
Update issue status for LWG 2768 and 2769
...
llvm-svn: 284321
2016-10-16 01:43:43 +00:00