Marshall Clow | 0e4ed2f | 2016-02-16 14:35:56 +0000 | [diff] [blame] | 1 | <!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 Clow | a8054c3 | 2016-06-07 20:05:57 +0000 | [diff] [blame] | 7 | <title>libc++ Upcoming Meeting Status</title> |
Marshall Clow | 0e4ed2f | 2016-02-16 14:35:56 +0000 | [diff] [blame] | 8 | <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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 35 | <h1>libc++ Oulu Status</h1> |
Marshall Clow | 0e4ed2f | 2016-02-16 14:35:56 +0000 | [diff] [blame] | 36 | <!--*********************************************************************--> |
| 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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 39 | <p>This page shows the status of the papers and issues that are expected to be adopted in Oulu.</p> |
Marshall Clow | 0e4ed2f | 2016-02-16 14:35:56 +0000 | [diff] [blame] | 40 | |
| 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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 60 | <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 Clow | a8054c3 | 2016-06-07 20:05:57 +0000 | [diff] [blame] | 63 | <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 Clow | 94f5dfc | 2016-06-09 14:50:38 +0000 | [diff] [blame] | 64 | <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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 65 | <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 Clow | a5d22d5 | 2016-06-08 14:54:35 +0000 | [diff] [blame] | 68 | <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 Clow | 9e65b66 | 2016-06-08 21:25:38 +0000 | [diff] [blame] | 69 | <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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 70 | <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 Clow | a8054c3 | 2016-06-07 20:05:57 +0000 | [diff] [blame] | 75 | <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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 78 | <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 Clow | 94f5dfc | 2016-06-09 14:50:38 +0000 | [diff] [blame] | 79 | <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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 80 | <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 Clow | a8054c3 | 2016-06-07 20:05:57 +0000 | [diff] [blame] | 87 | <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 Clow | f486825 | 2016-06-08 22:33:25 +0000 | [diff] [blame] | 89 | <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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 90 | <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 Clow | a8054c3 | 2016-06-07 20:05:57 +0000 | [diff] [blame] | 91 | <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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 92 | <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 Clow | a8054c3 | 2016-06-07 20:05:57 +0000 | [diff] [blame] | 94 | <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 Clow | 0e4ed2f | 2016-02-16 14:35:56 +0000 | [diff] [blame] | 95 | </table> |
| 96 | |
| 97 | <h3>Comments about the issues</h3> |
| 98 | <ul> |
Marshall Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 99 | <li>2181 - </li> |
Marshall Clow | 0f3f60f | 2016-06-07 17:54:38 +0000 | [diff] [blame] | 100 | <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 - <istream>:1467 - fix is straightforward. Need to think about tests.</li> |
Marshall Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 103 | <li>2393 - </li> |
Marshall Clow | 0f3f60f | 2016-06-07 17:54:38 +0000 | [diff] [blame] | 104 | <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 Clow | 6cec342 | 2016-05-31 14:29:38 +0000 | [diff] [blame] | 115 | <li>2573 - </li> |
Marshall Clow | 94f5dfc | 2016-06-09 14:50:38 +0000 | [diff] [blame] | 116 | <li>2596 - Turns out we do this already. Needs tests, though.</li> |
Eric Fiselier | 841798c | 2016-06-17 21:24:11 +0000 | [diff] [blame] | 117 | <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 Clow | a8054c3 | 2016-06-07 20:05:57 +0000 | [diff] [blame] | 124 | <li>2684 - We already have one; just need to add a test for it.</li> |
Marshall Clow | 0f3f60f | 2016-06-07 17:54:38 +0000 | [diff] [blame] | 125 | <li>2685 - Wording clarification; no code change needed. We don't handle throwing move ctors here anyway.</li> |
Marshall Clow | f486825 | 2016-06-08 22:33:25 +0000 | [diff] [blame] | 126 | <li>2688 - I believe that we already do this. Add more tests</li> |
Marshall Clow | 0f3f60f | 2016-06-07 17:54:38 +0000 | [diff] [blame] | 127 | <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 Fiselier | 841798c | 2016-06-17 21:24:11 +0000 | [diff] [blame] | 129 | <li>2706 - We already implement the new pop(error_code&) overloads</li> |
| 130 | <li>2707 - We already implement the new overloads.</li> |
Marshall Clow | 0f3f60f | 2016-06-07 17:54:38 +0000 | [diff] [blame] | 131 | <li>2710 - Wording cleanup; no code change needed.</li> |
Marshall Clow | 0e4ed2f | 2016-02-16 14:35:56 +0000 | [diff] [blame] | 132 | </ul> |
| 133 | |
Marshall Clow | 0f3f60f | 2016-06-07 17:54:38 +0000 | [diff] [blame] | 134 | <p>Last Updated: 7-Jun-2016</p> |
Marshall Clow | 0e4ed2f | 2016-02-16 14:35:56 +0000 | [diff] [blame] | 135 | </div> |
| 136 | </body> |
| 137 | </html> |