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