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
Eric Fiselier
906c50859b
Fix LWG issue #2106 : move_iterators returning prvalues
...
llvm-svn: 267091
2016-04-22 00:49:12 +00:00
Eric Fiselier
d513ad88d5
Complete LWG issue #2016 . Allocators must be nothrow swappable
...
llvm-svn: 267085
2016-04-22 00:15:18 +00:00
Eric Fiselier
f07dd8d0a9
Add is_swappable/is_nothrow_swappable traits
...
llvm-svn: 267079
2016-04-21 23:38:59 +00:00
Eric Fiselier
840fa745ca
Add 'is_callable' and 'is_nothrow_callable' traits and cleanup INVOKE.
...
The primary purpose of this patch is to add the 'is_callable' traits.
Since 'is_nothrow_callable' required making 'INVOKE' conditionally noexcept
I also took this oppertunity to implement a constexpr version of INVOKE.
This fixes 'std::experimental::apply' which required constexpr 'INVOKE support'.
This patch will be followed up with some cleanup. Primarly removing most
of "__member_function_traits" since it's no longer used by INVOKE (in C++11 at least).
llvm-svn: 266836
2016-04-20 00:14:32 +00:00
Eric Fiselier
cf6bbd3909
Mark P0152R1 as complete.
...
llvm-svn: 266592
2016-04-18 06:58:50 +00:00
Eric Fiselier
87c4104d30
Mark LWG issue 2469 as done. Also simplify try_emplace and insert_or_assign implementations in unordered_map
...
llvm-svn: 266591
2016-04-18 06:51:33 +00:00
Eric Fiselier
2152fd7682
Implement LWG issue 2219 - support reference_wrapper in INVOKE
...
llvm-svn: 266590
2016-04-18 06:17:30 +00:00
Eric Fiselier
df691e18f3
Add hash specializations for __int128_t. Fixes LWG issue 2119
...
llvm-svn: 266587
2016-04-18 02:54:00 +00:00
Eric Fiselier
40fde4d33e
Add tests for LWG issue 2361
...
llvm-svn: 266586
2016-04-18 02:31:05 +00:00
Eric Fiselier
7a9f500fcb
Fix LWG issue 2345 - Add insert(value_type&&)
...
llvm-svn: 266585
2016-04-18 01:40:45 +00:00
Eric Fiselier
a9a9a8a92a
Update filesystem status
...
llvm-svn: 265856
2016-04-08 21:52:32 +00:00
Eric Fiselier
a58d430cac
Make std::addressof constexpr in C++17 (Clang only).
...
llvm-svn: 263688
2016-03-17 03:30:56 +00:00
Marshall Clow
0b54e792b7
Implement LWG2577: {shared,unique}_lock</tt> should use std::addressof
...
llvm-svn: 263506
2016-03-14 23:07:32 +00:00
Marshall Clow
c1fe2c4329
Implement LWG#2566: Requirements on the first template parameter of container adaptors
...
llvm-svn: 263450
2016-03-14 17:58:11 +00:00
Nico Weber
47c3a4743e
Revert r263036, it's ABI-breaking.
...
llvm-svn: 263246
2016-03-11 15:26:06 +00:00
Marshall Clow
ef13c522b4
Update status to mark 2579 complete
...
llvm-svn: 263043
2016-03-09 18:09:07 +00:00
Marshall Clow
e96f8b52d9
Implement LWG#2583: There is no way to supply an allocator for basic_string(str, pos)
...
llvm-svn: 263036
2016-03-09 17:51:43 +00:00
Marshall Clow
dd1729fe8a
Implement P0272R1: Give 'std::string' a non-const '.data()' member function
...
llvm-svn: 262931
2016-03-08 15:44:30 +00:00
Marshall Clow
28cc4dde49
Implement P0253R1: Fixing a design mistake in the searchers interface.
...
llvm-svn: 262928
2016-03-08 15:12:52 +00:00
Marshall Clow
146c14ac33
Implement P0025R0: 'An algorithm to clamp a value between a pair of boundary values' for C++17
...
llvm-svn: 262871
2016-03-07 22:43:49 +00:00
Marshall Clow
4b5d4fde68
Update with work items passed in Jacksonville
...
llvm-svn: 262807
2016-03-06 17:45:24 +00:00
Marshall Clow
41f4b6d4fa
more status updates
...
llvm-svn: 261926
2016-02-25 20:17:03 +00:00
Marshall Clow
21dc2c25e7
Update the status of a N4089 and a couple issues
...
llvm-svn: 261896
2016-02-25 16:55:58 +00:00
Marshall Clow
16b8eddcac
Fix a missing closing tag
...
llvm-svn: 261677
2016-02-23 19:48:44 +00:00
Marshall Clow
a6f77c170d
More updates
...
llvm-svn: 261676
2016-02-23 19:48:09 +00:00
Marshall Clow
1e1f830e93
More updates
...
llvm-svn: 261655
2016-02-23 17:07:15 +00:00
Marshall Clow
d59478c9ab
More updates; patch for 2583 ready
...
llvm-svn: 261647
2016-02-23 16:20:24 +00:00
Marshall Clow
c8e5fc3c08
Add some status
...
llvm-svn: 260975
2016-02-16 16:05:15 +00:00
Marshall Clow
42770525eb
Add some comments
...
llvm-svn: 260966
2016-02-16 14:42:23 +00:00
Marshall Clow
38748aa300
Added a (private) status page for the Jacksonville meeting
...
llvm-svn: 260964
2016-02-16 14:35:56 +00:00
Marshall Clow
0aa1ccb0d9
Implement LWG#2385; remove the allocator-aware std::function::assign call. It was useless, and didn't actually *do anything* with the allocator. Now it's gone. On the off chance that someone is mistakenly calling it, it's only gone in C++1z
...
llvm-svn: 258697
2016-01-25 17:29:55 +00:00
Marshall Clow
fcdb19904c
Implement LWG#2101 'Some transformation types can produce impossible types' Introduced a new (internal) type trait '__is_referenceable' with tests. Use that trait in add_lvalue_reference, add_rvalue_reference and add_pointer.
...
llvm-svn: 258418
2016-01-21 18:22:43 +00:00
Eric Fiselier
ad41a2f480
Mark LWG defect #2367 as complete
...
llvm-svn: 256597
2015-12-29 23:18:27 +00:00
Eric Fiselier
545b8861fc
[libcxx] LWG2485: get() should be overloaded for const tuple&&. Patch from K-Ballo.
...
Review: http://reviews.llvm.org/D14839
llvm-svn: 255941
2015-12-18 00:36:55 +00:00
Marshall Clow
146c640e81
Cleaned up the intro for the TS status page; really need much more info here
...
llvm-svn: 254971
2015-12-08 00:08:23 +00:00
Marshall Clow
b8427293df
Last bit of P0006; mark it as complete
...
llvm-svn: 254290
2015-11-30 05:39:30 +00:00
Marshall Clow
dbd2d32892
Implement P0007: Constant View: A proposal for a std::as_const helper function template.
...
llvm-svn: 253274
2015-11-17 00:08:08 +00:00
Marshall Clow
a9197737f9
LWG#2156 loosened the requirements on unordered containers 'rehash' calls. Add tests to make sure we meet these requirements. Since we met the stricter ones, no code change needed to meet the looser ones.
...
llvm-svn: 253223
2015-11-16 16:42:16 +00:00
Marshall Clow
dd1b261f3a
Implement P0013R1: Logical Operator Type Traits. Make a hidden implementation (__and_, __or_, and __not_) so that we can use them elsewhere in non-C++17 code - for example, in the LFTS
...
llvm-svn: 253215
2015-11-16 15:54:13 +00:00
Marshall Clow
7d5264fa44
Mark P0013 as 'in progress'
...
llvm-svn: 253212
2015-11-16 15:05:09 +00:00
Marshall Clow
183c010c9a
Implement P0074: Making owner_less more flexible
...
llvm-svn: 252905
2015-11-12 15:56:44 +00:00
Marshall Clow
8f8cdf34ac
Mark LWG#2486 as complete. Eric did this as part of r242959
...
llvm-svn: 252509
2015-11-09 20:49:15 +00:00
Marshall Clow
33adf230a7
Mark LWG#2224 as complete. Wording change only, no code changes required
...
llvm-svn: 252408
2015-11-07 17:56:51 +00:00
Marshall Clow
e5f1288fa0
Implement LWG#2353: std::next is over-constrained
...
llvm-svn: 252407
2015-11-07 17:48:49 +00:00
Marshall Clow
6a11b039d9
Mark LWG issue #2234 . We already do this; no code change needed
...
llvm-svn: 252199
2015-11-05 19:57:50 +00:00
Marshall Clow
2cd0d6d625
Implement P0092R1 for C++1z
...
llvm-svn: 252195
2015-11-05 19:33:59 +00:00
Marshall Clow
131733bcf0
Implement P0004R1 'Remove Deprecated iostreams aliases'
...
llvm-svn: 251618
2015-10-29 05:43:30 +00:00
Marshall Clow
fe44b10735
Mark two Kona papers as 'in progress'
...
llvm-svn: 251545
2015-10-28 19:21:40 +00:00
Marshall Clow
10a6e70408
Mark LWG#2495 as complete. No code changes needed
...
llvm-svn: 251258
2015-10-25 20:12:58 +00:00
Marshall Clow
3b72a6ef63
Fix LWG#2489: mem_fn() should be noexcept
...
llvm-svn: 251257
2015-10-25 20:12:16 +00:00
Marshall Clow
b631c24359
Add a test for LWG#2466: allocator_traits::max_size() default behavior is incorrect
...
llvm-svn: 251252
2015-10-25 19:34:04 +00:00
Marshall Clow
2603b0758d
Fix LWG#2127: Move-construction with raw_storage_iterator.
...
llvm-svn: 251247
2015-10-25 18:58:07 +00:00
Marshall Clow
9be5356452
Fix LWG#2244: basic_istream::seekg
...
llvm-svn: 251246
2015-10-25 18:31:51 +00:00
Marshall Clow
5753adb810
Update C++ status from Kona
...
llvm-svn: 251220
2015-10-25 06:02:23 +00:00
Eric Fiselier
dfdf929ac9
Update issues status
...
llvm-svn: 250336
2015-10-14 22:26:40 +00:00
Eric Fiselier
9da4c8ed75
Link to new documentation from existing homepage
...
llvm-svn: 250325
2015-10-14 20:51:33 +00:00
Marshall Clow
438bdf639b
Mark 2447 and 2466 as completed.
...
llvm-svn: 250061
2015-10-12 16:25:21 +00:00