Eric Fiselier
9f988e6e4e
Update "Making Optional Greater Equal Again" paper status
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290742 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-30 04:16:30 +00:00
Eric Fiselier
01eb99ac7b
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290651 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-28 04:58:52 +00:00
Eric Fiselier
046a71be67
Implement P0435R1 - Resolving LWG issues for common_type
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290627 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-27 21:16:48 +00:00
Eric Fiselier
6d95982406
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289708 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-14 21:22:48 +00:00
Eric Fiselier
b5c2c47fb6
Update status page for variant implementation
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288625 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-04 22:14:53 +00:00
Eric Fiselier
dd74cd25d5
Mark various <variant> items as complete
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288574 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-03 02:47:40 +00:00
Vedant Kumar
e3cb222597
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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@287004 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-15 18:48:36 +00:00
Marshall Clow
506f7fcee5
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286884 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 20:41:17 +00:00
Marshall Clow
3d7c49b7b0
Implement P0516: 'Clarify That shared_future’s Copy Operations have Wide Contracts' which was adopted last week in Issaquah
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286877 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 19:58:05 +00:00
Marshall Clow
5ec20dfb48
Implement P0510 'Make future_error Constructible' adopted in Issaquah
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286864 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 18:56:24 +00:00
Marshall Clow
db7fa111ab
Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286858 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 18:22:19 +00:00
Marshall Clow
59368dd5fe
Update C++1z status with LWG papers from Issaquah.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286835 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 15:09:45 +00:00
Marshall Clow
496fc7ff0c
Update C++1z status with LFTS issues from Issaquah.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286834 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 14:53:07 +00:00
Marshall Clow
d521adc297
Update C++1z status with C++17 issues from Issaquah. Still to come: LFTS issues and papers
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286828 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 14:41:33 +00:00
Marshall Clow
4414a6a911
Implement constexpr support for reverse_iterator. Reviewed as https://reviews.llvm.org/D25534
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284602 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-19 15:12:50 +00:00
Eric Fiselier
2a901dae5a
Update LWG 2754 status
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284326 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 03:52:48 +00:00
Eric Fiselier
fcdb3f77e8
Update LWG 2767 and add test case
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284324 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 03:45:06 +00:00
Eric Fiselier
46c0fcb2b3
Update status for std::optional LWG issues and fix an optional SFINAE bug
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284323 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 03:21:35 +00:00
Eric Fiselier
846edfb837
Update issue status for LWG 2744
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284322 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 02:51:50 +00:00
Eric Fiselier
100a39d169
Update issue status for LWG 2768 and 2769
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284321 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 01:43:43 +00:00
Eric Fiselier
6e5869a3fb
Update notes for LWG 2678
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284319 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 00:49:33 +00:00
Eric Fiselier
1e1bbc7437
Implement LWG 2712 and update other issues status
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284318 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 00:47:59 +00:00
Eric Fiselier
451f34db16
Implement LWG 2681 and 2682
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284316 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-16 00:29:22 +00:00
Eric Fiselier
8bbf53fc93
Mark LWG 2680 as done
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284315 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 23:12:30 +00:00
Eric Fiselier
25dc5bdb88
Implement LWG 2672.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284314 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 23:05:04 +00:00
Eric Fiselier
620a9a5ecf
Implement modified LWG 2665
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284313 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 22:37:42 +00:00
Eric Fiselier
4ca4e5038b
Implement LWG2664 and update its status
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284310 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 21:29:44 +00:00
Eric Fiselier
9f39437989
Update the status of issues
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284309 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-15 20:58:51 +00:00
Marshall Clow
426eb5dd44
Update the status of three papers that do not require library changes
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284165 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 21:15:09 +00:00
Marshall Clow
e29fb4c411
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284164 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 21:06:03 +00:00
Eric Fiselier
508f208ae9
Fix LWG2683 - filesystem::copy() should always clear the user-provided error_code
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283951 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-11 22:18:09 +00:00
Marshall Clow
9d97e2bc3f
Mark 2777 as complete
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283804 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-10 21:37:16 +00:00
Marshall Clow
529c61f2dc
Update with the rest of the results from the 7-Oct Telecom
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283799 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-10 21:00:12 +00:00
Marshall Clow
bcef974041
Updated notes about issues; marked 2062, 2223, 2394, 2460 and 2540 as complete.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283781 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-10 17:11:37 +00:00
Marshall Clow
2b6c2499b1
Mark issues 2544, 2567, 2569, 2686 and 2694 as ready/done.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283752 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-10 14:15:56 +00:00
Marshall Clow
1a38ecc7e1
Mark issues 2514, 2519, 2536 and 2475 as done
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283452 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-06 13:59:18 +00:00
Marshall Clow
8df21c935f
Mark LWG#2679 as complete
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283356 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-05 18:36:24 +00:00
Marshall Clow
3d19a9da96
Mark LWG#2358 as done
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283341 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-05 17:02:43 +00:00
Marshall Clow
f257c26ec7
Mark LWG issues 2221, 2556 and 2589 as complete
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283325 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-05 15:21:11 +00:00
Marshall Clow
cc30c0b9f3
Mark #2759 as ready and #2755 as complete
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283222 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-04 14:39:58 +00:00
Marshall Clow
10ff23dc02
Mark #2598 as ready
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283220 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-04 14:08:50 +00:00
Marshall Clow
8332f9b5d1
Mark #2739 as ready
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283218 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-04 13:41:56 +00:00
Marshall Clow
1770a8c118
Mark a couple more Issaquah issues as done: 2578 and 2738
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283163 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-03 23:42:31 +00:00
Marshall Clow
7d06a50a51
Mark a couple issues as done (2742 and 2760)
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283124 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-03 17:35:08 +00:00
Marshall Clow
83050e50f7
Change titie of page from Oulu to Issaquah
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283113 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-03 14:24:21 +00:00
Marshall Clow
a39b868f53
List tentatively ready issues for Issaquah
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283112 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-03 14:23:04 +00:00
Eric Fiselier
17c38db650
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@279947 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-28 21:55:00 +00:00
Eric Fiselier
113315b9a4
Implement LWG 2711. Constrain path members.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@279945 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-28 21:26:01 +00:00
Eric Fiselier
e739d54f86
[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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@278310 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-11 03:13:11 +00:00
Eric Fiselier
1fceb5e53d
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@278087 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-09 03:05:43 +00:00