blob: 1316618e9b417d046c97e1111574bb607902e06b [file] [log] [blame]
Marshall Clow0e4ed2f2016-02-16 14:35:56 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
3<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
4<html>
5<head>
6 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
Marshall Clowa8054c32016-06-07 20:05:57 +00007 <title>libc++ Upcoming Meeting Status</title>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +00008 <link type="text/css" rel="stylesheet" href="menu.css">
9 <link type="text/css" rel="stylesheet" href="content.css">
10</head>
11
12<body>
13<div id="menu">
14 <div>
15 <a href="http://llvm.org/">LLVM Home</a>
16 </div>
17
18 <div class="submenu">
19 <label>libc++ Info</label>
20 <a href="/index.html">About</a>
21 </div>
22
23 <div class="submenu">
24 <label>Quick Links</label>
25 <a href="http://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
26 <a href="http://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
27 <a href="http://llvm.org/bugs/">Bug Reports</a>
28 <a href="http://llvm.org/svn/llvm-project/libcxx/trunk/">Browse SVN</a>
29 <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/">Browse ViewVC</a>
30 </div>
31</div>
32
33<div id="content">
34 <!--*********************************************************************-->
Marshall Clow6cec3422016-05-31 14:29:38 +000035 <h1>libc++ Oulu Status</h1>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000036 <!--*********************************************************************-->
37
38 <p>This is a temporary page; please check the c++1z status <a href="http://libcxx.llvm.org/cxx1z_status.html">here</a></p>
Marshall Clow6cec3422016-05-31 14:29:38 +000039 <p>This page shows the status of the papers and issues that are expected to be adopted in Oulu.</p>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000040
41 <p>The groups that have contributed papers:
42 <ul>
43 <li>LWG - Library working group</li>
44 <li>CWG - Core Language Working group</li>
45 <li>SG1 - Study group #1 (Concurrency working group)</li>
46 </ul>
47 </p>
48
49 <h3>Paper Status</h3>
50 <table id="papers" border="1">
51 <tr><th>Paper #</th><th>Group</th><th>Paper Name</th><th>Meeting</th><th>Status</th><th>First released version</th></tr>
52<!--
53 <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3346.pdf">3346</a></td><td>LWG</td><td>Terminology for Container Element Requirements - Rev 1</td><td>Kona</td><td>Complete</td><td>3.4</td></tr>
54-->
55<!-- <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> -->
56 </table>
57
58 <h3>Library Working group Issues Status</h3>
59 <table id="issues" border="1">
Marshall Clow6cec3422016-05-31 14:29:38 +000060 <tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr>
61
62 <tr><td><a href="http://wg21.link/LWG2181">2181</a></td><td>Exceptions from seed sequence operations</td><td>Oulu</td><td></td></tr>
Marshall Clowa8054c32016-06-07 20:05:57 +000063 <tr><td><a href="http://wg21.link/LWG2309">2309</a></td><td>mutex::lock() should not throw device_or_resource_busy</td><td>Oulu</td><td>Complete</td></tr>
Marshall Clow94f5dfc2016-06-09 14:50:38 +000064 <tr><td><a href="http://wg21.link/LWG2310">2310</a></td><td>Public exposition only member in std::array</td><td>Oulu</td><td>Patch Ready</td></tr>
Marshall Clow6cec3422016-05-31 14:29:38 +000065 <tr><td><a href="http://wg21.link/LWG2328">2328</a></td><td>Rvalue stream extraction should use perfect forwarding</td><td>Oulu</td><td></td></tr>
66 <tr><td><a href="http://wg21.link/LWG2393">2393</a></td><td>std::function's Callable definition is broken</td><td>Oulu</td><td></td></tr>
67 <tr><td><a href="http://wg21.link/LWG2426">2426</a></td><td>Issue about compare_exchange</td><td>Oulu</td><td></td></tr>
Marshall Clowa5d22d52016-06-08 14:54:35 +000068 <tr><td><a href="http://wg21.link/LWG2436">2436</a></td><td>Comparators for associative containers should always be CopyConstructible</td><td>Oulu</td><td>Patch Ready</td></tr>
Marshall Clow9e65b662016-06-08 21:25:38 +000069 <tr><td><a href="http://wg21.link/LWG2441">2441</a></td><td>Exact-width atomic typedefs should be provided</td><td>Oulu</td><td>Patch Ready</td></tr>
Marshall Clow6cec3422016-05-31 14:29:38 +000070 <tr><td><a href="http://wg21.link/LWG2451">2451</a></td><td>[fund.ts.v2] optional<T> should 'forward' T's implicit conversions</td><td>Oulu</td><td></td></tr>
71 <tr><td><a href="http://wg21.link/LWG2509">2509</a></td><td>[fund.ts.v2] any_cast doesn't work with rvalue reference targets and cannot move with a value target</td><td>Oulu</td><td></td></tr>
72 <tr><td><a href="http://wg21.link/LWG2516">2516</a></td><td>[fund.ts.v2] Public "exposition only" members in observer_ptr</td><td>Oulu</td><td></td></tr>
73 <tr><td><a href="http://wg21.link/LWG2542">2542</a></td><td>Missing const requirements for associative containers</td><td>Oulu</td><td></td></tr>
74 <tr><td><a href="http://wg21.link/LWG2549">2549</a></td><td>Tuple EXPLICIT constructor templates that take tuple parameters end up taking references to temporaries and will create dangling references</td><td>Oulu</td><td></td></tr>
Marshall Clowa8054c32016-06-07 20:05:57 +000075 <tr><td><a href="http://wg21.link/LWG2550">2550</a></td><td>Wording of unordered container's clear() method complexity</td><td>Oulu</td><td>Complete</td></tr>
76 <tr><td><a href="http://wg21.link/LWG2551">2551</a></td><td>[fund.ts.v2] "Exception safety" cleanup in library fundamentals required</td><td>Oulu</td><td>Complete</td></tr>
77 <tr><td><a href="http://wg21.link/LWG2555">2555</a></td><td>[fund.ts.v2] No handling for over-aligned types in optional</td><td>Oulu</td><td>Complete</td></tr>
Marshall Clow6cec3422016-05-31 14:29:38 +000078 <tr><td><a href="http://wg21.link/LWG2573">2573</a></td><td>[fund.ts.v2] std::hash<std::experimental::shared_ptr<T>> does not work for arrays</td><td>Oulu</td><td></td></tr>
Marshall Clow94f5dfc2016-06-09 14:50:38 +000079 <tr><td><a href="http://wg21.link/LWG2596">2596</a></td><td>vector::data() should use addressof</td><td>Oulu</td><td>Patch Ready</td></tr>
Marshall Clow6cec3422016-05-31 14:29:38 +000080 <tr><td><a href="http://wg21.link/LWG2667">2667</a></td><td>path::root_directory() description is confusing</td><td>Oulu</td><td></td></tr>
81 <tr><td><a href="http://wg21.link/LWG2669">2669</a></td><td>recursive_directory_iterator effects refers to non-existent functions</td><td>Oulu</td><td></td></tr>
82 <tr><td><a href="http://wg21.link/LWG2670">2670</a></td><td>system_complete refers to undefined variable 'base'</td><td>Oulu</td><td></td></tr>
83 <tr><td><a href="http://wg21.link/LWG2671">2671</a></td><td>Errors in Copy</td><td>Oulu</td><td></td></tr>
84 <tr><td><a href="http://wg21.link/LWG2673">2673</a></td><td>status() effects cannot be implemented as specified</td><td>Oulu</td><td></td></tr>
85 <tr><td><a href="http://wg21.link/LWG2674">2674</a></td><td>Bidirectional iterator requirement on path::iterator is very expensive</td><td>Oulu</td><td></td></tr>
86 <tr><td><a href="http://wg21.link/LWG2683">2683</a></td><td>filesystem::copy() says "no effects"</td><td>Oulu</td><td></td></tr>
Marshall Clowa8054c32016-06-07 20:05:57 +000087 <tr><td><a href="http://wg21.link/LWG2684">2684</a></td><td>priority_queue lacking comparator typedef</td><td>Oulu</td><td>Patch Ready</td></tr>
88 <tr><td><a href="http://wg21.link/LWG2685">2685</a></td><td>shared_ptr deleters must not not throw on move construction</td><td>Oulu</td><td>Complete</td></tr>
Marshall Clowf4868252016-06-08 22:33:25 +000089 <tr><td><a href="http://wg21.link/LWG2688">2688</a></td><td>clamp misses preconditions and has extraneous condition on result</td><td>Oulu</td><td>Patch Ready</td></tr>
Marshall Clow6cec3422016-05-31 14:29:38 +000090 <tr><td><a href="http://wg21.link/LWG2689">2689</a></td><td>Parallel versions of std::copy and std::move shouldn't be in order</td><td>Oulu</td><td></td></tr>
Marshall Clowa8054c32016-06-07 20:05:57 +000091 <tr><td><a href="http://wg21.link/LWG2698">2698</a></td><td>Effect of assign() on iterators/pointers/references</td><td>Oulu</td><td>Complete</td></tr>
Marshall Clow6cec3422016-05-31 14:29:38 +000092 <tr><td><a href="http://wg21.link/LWG2706">2706</a></td><td>Error reporting for recursive_directory_iterator::pop() is under-specified</td><td>Oulu</td><td></td></tr>
93 <tr><td><a href="http://wg21.link/LWG2707">2707</a></td><td>path construction and assignment should have "string_type&&" overloads</td><td>Oulu</td><td></td></tr>
Marshall Clowa8054c32016-06-07 20:05:57 +000094 <tr><td><a href="http://wg21.link/LWG2710">2710</a></td><td>"Effects: Equivalent to ..." doesn't count "Synchronization:" as determined semantics</td><td>Oulu</td><td>Complete</td></tr>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000095 </table>
96
97<h3>Comments about the issues</h3>
98<ul>
Marshall Clow6cec3422016-05-31 14:29:38 +000099<li>2181 - </li>
Marshall Clow0f3f60f2016-06-07 17:54:38 +0000100<li>2309 - I don't think there's anything to do here.</li>
101<li>2310 - I think we need a test that checks array::data() == addressof(front()). Other than that, we're good.</li>
102<li>2328 - &lt;istream&gt;:1467 - fix is straightforward. Need to think about tests.</li>
Marshall Clow6cec3422016-05-31 14:29:38 +0000103<li>2393 - </li>
Marshall Clow0f3f60f2016-06-07 17:54:38 +0000104<li>2426 - I believe this is just a wording clarification, but need to study it some more.</li>
105<li>2436 - Adds Requirements on compare/hasher. We can static_assert this, and test it.</li>
106<li>2441 - Looks straightforward.</li>
107<li>2451 - <i>Significant work.</i></li>
108<li>2509 - <i>Significant work.</i></li>
109<li>2516 - We don't have an observer_ptr implementation yet.</li>
110<li>2542 - This is probably mostly writing additional tests.</li>
111<li>2549 - Tuple EXPLICIT - Eric?</li>
112<li>2550 - Wording clarification; no code change needed.</li>
113<li>2551 - Wording cleanup; no code change needed.</li>
114<li>2555 - Wording clarification; no code change needed.</li>
Marshall Clow6cec3422016-05-31 14:29:38 +0000115<li>2573 - </li>
Marshall Clow94f5dfc2016-06-09 14:50:38 +0000116<li>2596 - Turns out we do this already. Needs tests, though.</li>
Eric Fiselier841798c2016-06-17 21:24:11 +0000117<li>2667 - Wording clarification; no code change needed.</li>
118<li>2669 - Wording clarification; no code change needed.</li>
119<li>2670 - Wording clarification; no code change needed.</li>
120<li>2671 - Wording clarification; no code change needed.</li>
121<li>2673 - Wording clarification; no code change needed.</li>
122<li>2674 - We already depend on the requirements being relaxed.</li>
123<li>2683 - We already do this.</li>
Marshall Clowa8054c32016-06-07 20:05:57 +0000124<li>2684 - We already have one; just need to add a test for it.</li>
Marshall Clow0f3f60f2016-06-07 17:54:38 +0000125<li>2685 - Wording clarification; no code change needed. We don't handle throwing move ctors here anyway.</li>
Marshall Clowf4868252016-06-08 22:33:25 +0000126<li>2688 - I believe that we already do this. Add more tests</li>
Marshall Clow0f3f60f2016-06-07 17:54:38 +0000127<li>2689 - We don't have a parallel implementation yet (though I'm working on it).</li>
128<li>2698 - Wording clarification; no code change needed.</li>
Eric Fiselier841798c2016-06-17 21:24:11 +0000129<li>2706 - We already implement the new pop(error_code&) overloads</li>
130<li>2707 - We already implement the new overloads.</li>
Marshall Clow0f3f60f2016-06-07 17:54:38 +0000131<li>2710 - Wording cleanup; no code change needed.</li>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000132</ul>
133
Marshall Clow0f3f60f2016-06-07 17:54:38 +0000134<p>Last Updated: 7-Jun-2016</p>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000135</div>
136</body>
137</html>