Marshall Clow
dd74d83f84
Implement p0258r2: has_unique_object_representations
...
llvm-svn: 321685
2018-01-03 02:32:28 +00:00
Marshall Clow
28f1dfcbfe
A couple more inlined variables that I missed the first time
...
llvm-svn: 321661
2018-01-02 18:41:01 +00:00
Marshall Clow
40a01d5314
Implement most of P0607: Inline Variables for the Standard Library. This involved marking a lot of variables as inline (but only for C++17 and later).
...
llvm-svn: 321658
2018-01-02 17:17:01 +00:00
Marshall Clow
c78e12eaf8
Add issue 2587, which was missed
...
llvm-svn: 319734
2017-12-05 03:51:16 +00:00
Marshall Clow
5dd9220974
Implement more of P0600: '[[nodiscard]] in the library' for C++2a
...
llvm-svn: 319710
2017-12-04 23:03:42 +00:00
Marshall Clow
800259c98d
Implement P0457R2: 'String Prefix and Suffix Checking' for c++2a
...
llvm-svn: 319687
2017-12-04 20:11:38 +00:00
Marshall Clow
d42db7e083
Implement LWG#2921 and LWG#2976 - removing allocator support from packaged_task.
...
llvm-svn: 319080
2017-11-27 19:43:28 +00:00
Marshall Clow
48f3653999
Implement LWG#2948: unique_ptr does not define operator<< for stream output
...
llvm-svn: 319038
2017-11-27 15:51:36 +00:00
Marshall Clow
2365c7814a
Update C++2a status and add Glen to CREDITS.TXT. Reviewed as https://reviews.llvm.org/D40379
...
llvm-svn: 318919
2017-11-23 14:50:56 +00:00
Marshall Clow
9180eb1f4a
Implement p0137r1 - std::launder. Reviewed as https://reviews.llvm.org/D40144
...
llvm-svn: 318864
2017-11-22 19:49:03 +00:00
Marshall Clow
12de6e9c11
Implement LWG2950: std::byte operations are misspecified
...
llvm-svn: 318125
2017-11-14 01:14:53 +00:00
Marshall Clow
ffcfd923d7
Implement LWG2952: iterator_traits should work for pointers to cv T
...
llvm-svn: 318119
2017-11-14 00:03:10 +00:00
Marshall Clow
843ec14af4
Put the status in the wrong column
...
llvm-svn: 318012
2017-11-13 04:15:39 +00:00
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
Eric Fiselier
a296b7bf12
Update notes for LWG 2678
...
llvm-svn: 284319
2016-10-16 00:49:33 +00:00
Eric Fiselier
ecafa8739e
Implement LWG 2712 and update other issues status
...
llvm-svn: 284318
2016-10-16 00:47:59 +00:00
Eric Fiselier
ae4c3e1699
Implement LWG 2681 and 2682
...
llvm-svn: 284316
2016-10-16 00:29:22 +00:00
Eric Fiselier
736538b0fc
Mark LWG 2680 as done
...
llvm-svn: 284315
2016-10-15 23:12:30 +00:00
Eric Fiselier
9ada18b339
Implement LWG 2672.
...
llvm-svn: 284314
2016-10-15 23:05:04 +00:00
Eric Fiselier
87ee8a0adb
Implement modified LWG 2665
...
llvm-svn: 284313
2016-10-15 22:37:42 +00:00
Eric Fiselier
bbcfec7edd
Implement LWG2664 and update its status
...
llvm-svn: 284310
2016-10-15 21:29:44 +00:00
Eric Fiselier
26ef119dcb
Update the status of issues
...
llvm-svn: 284309
2016-10-15 20:58:51 +00:00
Marshall Clow
3baae885e1
Update the status of three papers that do not require library changes
...
llvm-svn: 284165
2016-10-13 21:15:09 +00:00
Marshall Clow
6ecac73019
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.
...
llvm-svn: 284164
2016-10-13 21:06:03 +00:00
Eric Fiselier
e6364a35fd
Fix LWG2683 - filesystem::copy() should always clear the user-provided error_code
...
llvm-svn: 283951
2016-10-11 22:18:09 +00:00
Marshall Clow
4bf466bd09
Mark 2777 as complete
...
llvm-svn: 283804
2016-10-10 21:37:16 +00:00
Marshall Clow
e1736760c8
Update with the rest of the results from the 7-Oct Telecom
...
llvm-svn: 283799
2016-10-10 21:00:12 +00:00
Marshall Clow
03344b3bdc
Updated notes about issues; marked 2062, 2223, 2394, 2460 and 2540 as complete.
...
llvm-svn: 283781
2016-10-10 17:11:37 +00:00
Marshall Clow
33566a711d
Mark issues 2544, 2567, 2569, 2686 and 2694 as ready/done.
...
llvm-svn: 283752
2016-10-10 14:15:56 +00:00
Marshall Clow
c036604f9b
Mark issues 2514, 2519, 2536 and 2475 as done
...
llvm-svn: 283452
2016-10-06 13:59:18 +00:00
Marshall Clow
e81d2fa9bb
Mark LWG#2679 as complete
...
llvm-svn: 283356
2016-10-05 18:36:24 +00:00
Marshall Clow
cd1e532c39
Mark LWG#2358 as done
...
llvm-svn: 283341
2016-10-05 17:02:43 +00:00
Marshall Clow
592024759e
Mark LWG issues 2221, 2556 and 2589 as complete
...
llvm-svn: 283325
2016-10-05 15:21:11 +00:00
Marshall Clow
af63ab2b69
Mark #2759 as ready and #2755 as complete
...
llvm-svn: 283222
2016-10-04 14:39:58 +00:00
Marshall Clow
6203c91eac
Mark #2598 as ready
...
llvm-svn: 283220
2016-10-04 14:08:50 +00:00
Marshall Clow
f21aa87f3b
Mark #2739 as ready
...
llvm-svn: 283218
2016-10-04 13:41:56 +00:00
Marshall Clow
da68203678
Mark a couple more Issaquah issues as done: 2578 and 2738
...
llvm-svn: 283163
2016-10-03 23:42:31 +00:00
Marshall Clow
a5554a93de
Mark a couple issues as done (2742 and 2760)
...
llvm-svn: 283124
2016-10-03 17:35:08 +00:00
Marshall Clow
bfdc374212
Change titie of page from Oulu to Issaquah
...
llvm-svn: 283113
2016-10-03 14:24:21 +00:00
Marshall Clow
a82e92867f
List tentatively ready issues for Issaquah
...
llvm-svn: 283112
2016-10-03 14:23:04 +00:00
Eric Fiselier
040411762f
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.
llvm-svn: 279947
2016-08-28 21:55:00 +00:00
Eric Fiselier
2fc65041be
Implement LWG 2711. Constrain path members.
...
llvm-svn: 279945
2016-08-28 21:26:01 +00:00
Eric Fiselier
324506b9f3
[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
llvm-svn: 278310
2016-08-11 03:13:11 +00:00
Eric Fiselier
344e13892e
Remove *super* old test suite results doc for Linux and Windows.
...
Neither of these results files has been update in years. Linux now has a dozen
or so buildbots tracking it and the Windows results are no longer relevant.
I plan on looking into getting a Windows buildbot going using Appveyor in the
coming days.
llvm-svn: 278087
2016-08-09 03:05:43 +00:00
Eric Fiselier
da178822c2
Mark LWG 2726 as complete. No code change needed.
...
llvm-svn: 277964
2016-08-07 21:47:06 +00:00
Marshall Clow
19b4035f29
Implement LCM and GCD for C++17. Same code as for Library Fundamentals TS.
...
llvm-svn: 276751
2016-07-26 14:29:45 +00:00
Eric Fiselier
4927c29577
Implement the std::pair parts of "Improving pair and tuple". Completes N4387.
...
llvm-svn: 276605
2016-07-25 04:32:07 +00:00
Eric Fiselier
790df14543
Implement LWG 2393. Check for LValue-callability.
...
llvm-svn: 276546
2016-07-24 04:16:40 +00:00
Eric Fiselier
63c69ef49c
Implement LWG2328. Rvalue stream extraction should perfect forward.
...
llvm-svn: 276545
2016-07-24 04:07:22 +00:00
Eric Fiselier
e4d9c316d2
Implement P0040r3: Extending memory management tools
...
llvm-svn: 276544
2016-07-24 03:51:39 +00:00
Eric Fiselier
0fdab5eb69
Implement P0392r0. Integrate filesystem::path and string_view.
...
llvm-svn: 276511
2016-07-23 03:10:56 +00:00
Eric Fiselier
38136197bb
Mark P0358r1 as complete. It is already implemented
...
llvm-svn: 276233
2016-07-21 03:28:52 +00:00
Eric Fiselier
7efa5e4b5f
Mark P0337r0 as complete. It was already implemented in std::experimental
...
llvm-svn: 276231
2016-07-21 03:24:43 +00:00
Eric Fiselier
0e411641a3
Implement P0084r2. Changing emplace return types.
...
llvm-svn: 276230
2016-07-21 03:20:17 +00:00
Eric Fiselier
03e29a2964
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.
llvm-svn: 275745
2016-07-18 00:35:56 +00:00
Marshall Clow
10e8bef1d4
Add more tests for LWG#2582. No code changes needed, just tests.
...
llvm-svn: 275211
2016-07-12 20:15:46 +00:00
Marshall Clow
ced86bf736
mark issue #2422 as complete; this was just a wording clarification
...
llvm-svn: 275177
2016-07-12 15:29:35 +00:00
Marshall Clow
191cbb2406
mark issue #2181 as complete; this was just a wording clarification
...
llvm-svn: 275176
2016-07-12 15:15:55 +00:00
Marshall Clow
92aa427bb8
Put the status in the right column
...
llvm-svn: 275171
2016-07-12 14:38:59 +00:00
Marshall Clow
7658df4bcd
Mark P0067 as 'postponed', because it will be revised before the next meeting
...
llvm-svn: 275170
2016-07-12 14:37:39 +00:00
Marshall Clow
f7aaf31c53
Mark issues 2550, 2551, 2555, 2685, 2698 as complete. These issues are wording clarifications; no code changes required.
...
llvm-svn: 274255
2016-06-30 18:05:19 +00:00
Marshall Clow
2f63da2887
Mark issues 2667, 2669, 2670, 2671, 2673 as complete. These issues are wording clarifications; no code changes required.
...
llvm-svn: 274253
2016-06-30 17:59:01 +00:00
Marshall Clow
e46c0885ff
Implement LWG#2688: 'clamp misses preconditions and has extraneous condition on result'. We already did this, just added tests
...
llvm-svn: 274252
2016-06-30 17:52:51 +00:00
Marshall Clow
c8afc869b0
Implement LWG#2684: 'priority_queue lacking comparator typedef'. We already did this, just added tests
...
llvm-svn: 274243
2016-06-30 16:03:50 +00:00
Marshall Clow
81fce9729c
Implement LWG#2596: 'vector::data() should use addressof'
...
llvm-svn: 274241
2016-06-30 15:50:55 +00:00
Marshall Clow
e766a87b01
Implement LWG#2441: 'Exact-width atomic typedefs should be provided'
...
llvm-svn: 274236
2016-06-30 15:28:38 +00:00
Marshall Clow
497677449b
Implement LWG#2436: 'Comparators for associative containers should always be CopyConstructible'
...
llvm-svn: 274235
2016-06-30 15:11:53 +00:00
Eric Fiselier
b4fe59b595
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.
llvm-svn: 274214
2016-06-30 06:59:29 +00:00
Marshall Clow
91bd7dda3a
Use WG21.link reflector to get to issues, rather than linking directly
...
llvm-svn: 274018
2016-06-28 14:13:28 +00:00
Marshall Clow
baf27df0bf
Updated C++1Z status page with new work from Oulu WG21 meeting
...
llvm-svn: 274016
2016-06-28 14:11:54 +00:00
Marshall Clow
3044c34c45
Fix bad link for P0006
...
llvm-svn: 273861
2016-06-27 11:14:34 +00:00
Eric Fiselier
555330719a
Implement LWG 2488 - Make the placeholders constexpr.
...
This patch makes the bind placeholders in std::placeholders both (1) const and
(2) constexpr (See below).
This is technically a breaking change for any code using the placeholders
outside of std::bind and depending on them being non-const. However I don't
think this will break any real world code.
(1) Previously the placeholders were non-const extern globals in all
dialects. This patch changes these extern globals to be const in all dialects.
Since the cv-qualifiers don't participate in name mangling for globals this
is an ABI compatible change.
(2) Make the placeholders constexpr in C++11 and beyond. Although LWG 2488 only
applies to C++17 I don't see any reason not to backport this change.
llvm-svn: 273824
2016-06-26 21:01:34 +00:00
Eric Fiselier
be13be47ba
Implement LWG issue 1169. num_get not fully compatible with strto*
...
Use strtof and strtod for floats and doubles respectively instead of
always using strtold. The other parts of the change are already implemented
in libc++.
This patch also has a drive by fix to wbuffer_convert::underflow() which
prevents it from calling memmove(buff, null, 0).
llvm-svn: 273106
2016-06-19 06:58:22 +00:00
Eric Fiselier
5e1787a9ea
Update status of filesystem issues, and add tests for LWG issue 2683
...
llvm-svn: 273051
2016-06-17 21:24:11 +00:00
Eric Fiselier
c79795874a
Add Filesystem TS -- Complete
...
Add the completed std::experimental::filesystem implementation and tests.
The implementation supports C++11 or newer.
The TS is built as part of 'libc++experimental.a'. Users of the TS need to
manually link this library. Building and testing the TS can be disabled using
the CMake option '-DLIBCXX_ENABLE_FILESYSTEM=OFF'.
Currently 'libc++experimental.a' is not installed by default. To turn on the
installation of the library use '-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON'.
llvm-svn: 273034
2016-06-17 19:46:40 +00:00
Eric Fiselier
48f35e074e
Implement variadic lock_guard.
...
Summary:
This patch implements the variadic `lock_guard` paper.
Making `lock_guard` variadic is a ABI breaking change because the specialization `lock_guard<_Mutex>` mangles differently then when it was the primary template. This change only provides variadic `lock_guard` in ABI V2 or when `_LIBCPP_ABI_VARIADIC_LOCK_GUARD` is defined.
Note that in ABI V2 `lock_guard` must always be declared as a variadic template, even in C++03, in order to keep the ABI consistent. For this reason `lock_guard` is forward declared as a variadic template in all standard dialects and therefore depends on variadic templates being provided as an extension in C++03. All supported versions of Clang and GCC provide this extension.
Reviewers: mclow.lists
Subscribers: K-ballo, mclow.lists, cfe-commits
Differential Revision: http://reviews.llvm.org/D21260
llvm-svn: 272634
2016-06-14 03:48:09 +00:00
Marshall Clow
cbfb1487e1
Two more issues w/patches
...
llvm-svn: 272263
2016-06-09 14:50:38 +00:00
Marshall Clow
79e7c2c9b4
Add notes for 2688
...
llvm-svn: 272216
2016-06-08 22:33:25 +00:00
Marshall Clow
96c63abad8
Mark 2441 as ready
...
llvm-svn: 272202
2016-06-08 21:25:38 +00:00
Marshall Clow
1fe50f3be5
Patch ready for #2436
...
llvm-svn: 272150
2016-06-08 14:54:35 +00:00
Marshall Clow
a11d578b4b
Added notes for a bunch of the issues
...
llvm-svn: 272050
2016-06-07 20:05:57 +00:00
Marshall Clow
13bfcb0b03
Added notes about the issues for Oulu
...
llvm-svn: 272029
2016-06-07 17:54:38 +00:00
Eric Fiselier
58ff77c2e0
Mark LWG issue 2545 as complete. Add extra tests
...
llvm-svn: 271489
2016-06-02 05:44:14 +00:00
Eric Fiselier
9b903af3e9
Mark LWG issue 2218 as complete.
...
LWG issue 2218 relaxes a restriction on how containers can call
Alloc::construct(...) and Alloc::destroy(...). There is nothing new to test.
llvm-svn: 271477
2016-06-02 04:13:41 +00:00
Eric Fiselier
91ae4a078b
Mark LWG issue 2336 as complete. There is nothing to do.
...
llvm-svn: 271476
2016-06-02 04:08:03 +00:00
Eric Fiselier
4efa1ad561
Mark LWG issue 2250 as complete
...
llvm-svn: 271475
2016-06-02 04:03:31 +00:00
Eric Fiselier
d697ee41bc
Mark LWG issue 2450 as complete.
...
llvm-svn: 271473
2016-06-02 03:12:44 +00:00
Eric Fiselier
e44604aec7
Update libcxx.llvm.org documentation by linking to new docs.
...
Summary:
Currently much of the libcxx website is duplicated between the old www/ documentation and newer Sphinx docs. This patch changes the main libc++ webpage so that it links to the new documentation where possible. This means removing numerous sections from the landing page.
@mclow.lists What do you think?
Reviewers: mclow.lists
Subscribers: cfe-commits, mclow.lists
Differential Revision: http://reviews.llvm.org/D19250
llvm-svn: 271469
2016-06-02 02:16:28 +00:00
Eric Fiselier
5725756791
Add C++17 std::not_fn negator.
...
Summary:
Exactly what it sounds like.
I plan to commit this in a couple of days assuming no objections.
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D20799
llvm-svn: 271464
2016-06-02 01:25:41 +00:00
Eric Fiselier
88f5bfdc5b
Implement P0033R1 - Re-enabling shared_from_this
...
Summary: See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0033r1.html
Reviewers: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D19254
llvm-svn: 271449
2016-06-02 00:15:35 +00:00
Marshall Clow
30bffb9dcf
Issues for Oulu
...
llvm-svn: 271282
2016-05-31 14:29:38 +00:00
Eric Fiselier
7939ae5e08
Mark LWG issue 2520 as complete
...
llvm-svn: 271249
2016-05-31 04:27:57 +00:00
Eric Fiselier
5362bbb02a
Mark LWG issue 2276 as complete. Add _LIBCPP_ASSERTS for it
...
llvm-svn: 271247
2016-05-31 01:50:55 +00:00
Eric Fiselier
3bdbb10a48
Mark LWG issue 2537 as complete
...
llvm-svn: 271241
2016-05-31 01:11:20 +00:00
Eric Fiselier
0ddc14c256
Mark LWG issue #2585 as complete
...
llvm-svn: 271240
2016-05-31 01:03:07 +00:00
Eric Fiselier
4c46801fa7
Mark LWG issue 2565 as complete. Update the tests to check it.
...
llvm-svn: 271238
2016-05-31 00:23:31 +00:00
Eric Fiselier
928431af53
Mark LWG issue #2522 as complete
...
llvm-svn: 271231
2016-05-30 21:30:46 +00:00
Marshall Clow
2dd562e3d9
Mark LWG2583 as complete. I did this a while ago, and forgot to update the table.
...
llvm-svn: 269973
2016-05-18 19:31:01 +00:00
Marshall Clow
bc6a7df072
Implement LWG2576: istream_iterator and ostream_iterator should use std::addressof
...
llvm-svn: 269789
2016-05-17 17:44:40 +00:00
Marshall Clow
4328c2bac8
Implement P0030R1: Introduce a 3-Argument Overload to std::hypot
...
llvm-svn: 269772
2016-05-17 14:52:19 +00:00
Eric Fiselier
8dbe074baf
Update TS implementation status page
...
llvm-svn: 268844
2016-05-07 03:24:31 +00:00