Marshall Clow | 6864068 | 2014-11-10 15:43:20 +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"> |
| 7 | <title>libc++ C++1Z Status</title> |
| 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.cs.uiuc.edu/mailman/listinfo/cfe-dev">cfe-dev</a> |
| 26 | <a href="http://lists.cs.uiuc.edu/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 | <!--*********************************************************************--> |
| 35 | <h1>libc++ C++1z Status</h1> |
| 36 | <!--*********************************************************************--> |
| 37 | |
| 38 | <p>In November 2014, the C++ standard committee created a draft for the next version of the C++ standard, known here as "C++1z" (probably to be C++17)</p> |
| 39 | <p>This page shows the status of libc++; the status of clang's support of the language features is <a href="http://clang.llvm.org/cxx_status.html#cxx17">here</a>.</p> |
| 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 | --> |
Marshall Clow | 3687d3c | 2014-11-17 15:50:08 +0000 | [diff] [blame] | 55 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3911">N3911</a></td><td>LWG</td></td><td>TransformationTrait Alias <code>void_t</code>.</td><td>Urbana</td><td>Complete</td><td>3.6</td></tr> |
Marshall Clow | ad75510 | 2014-11-19 19:43:23 +0000 | [diff] [blame] | 56 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4089">N4089</a></td><td>LWG</td></td><td>Safe conversions in <code>unique_ptr<T[]></code>.</td><td>Urbana</td><td></td><td></td></tr> |
Marshall Clow | 6864068 | 2014-11-10 15:43:20 +0000 | [diff] [blame] | 57 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4169">N4169</a></td><td>LWG</td></td><td>A proposal to add invoke function template</td><td>Urbana</td><td></td><td></td></tr> |
Marshall Clow | ad75510 | 2014-11-19 19:43:23 +0000 | [diff] [blame] | 58 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190">N4190</a></td></td><td>LWG</td><td>Removing auto_ptr, random_shuffle(), And Old <functional> Stuff.</td><td>Urbana</td><td></td><td></td></tr> |
| 59 | <tr><td><a href="http://wiki.edg.com/twiki/pub/Wg21urbana-champaign/StrawPolls/n4258.pdf">N4258</a></td><td>LWG</td></td><td>Cleaning-up noexcept in the Library.</td><td>Urbana</td><td></td><td></td></tr> |
| 60 | <tr><td><a href="http://wiki.edg.com/twiki/pub/Wg21urbana-champaign/StrawPolls/N4277.html">N4277</a></td><td>LWG</td></td><td>TriviallyCopyable <code>reference_wrapper</code>.</td><td>Urbana</td><td>Complete</td><td>3.2</td></tr> |
| 61 | <tr><td><a href="http://wiki.edg.com/twiki/pub/Wg21urbana-champaign/StrawPolls/n4279.html">N4279</a></td><td>LWG</td></td><td>Improved insertion interface for unique-key maps.</td><td>Urbana</td><td></td><td></td></tr> |
| 62 | <tr><td><a href="http://wiki.edg.com/twiki/pub/Wg21urbana-champaign/StrawPolls/n4280.pdf">N4280</a></td><td>LWG</td></td><td>Non-member size() and more</td><td>Urbana</td><td>Complete</td><td>3.6</td></tr> |
| 63 | <tr><td><a href="http://wiki.edg.com/twiki/pub/Wg21urbana-champaign/StrawPolls/n4284.html">N4284</a></td><td>LWG</td></td><td>Contiguous Iterators.</td><td>Urbana</td><td></td><td></td></tr> |
Marshall Clow | de55932 | 2015-05-01 22:14:35 +0000 | [diff] [blame^] | 64 | <tr><td><a href="http://wiki.edg.com/twiki/pub/Wg21urbana-champaign/StrawPolls/n4285.html">N4285</a></td><td>CWG</td></td><td>Cleanup for exception-specification and throw-expression.</td><td>Urbana</td><td></td><td></td></tr> |
Marshall Clow | 6864068 | 2014-11-10 15:43:20 +0000 | [diff] [blame] | 65 | |
| 66 | <!-- <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> --> |
| 67 | </table> |
| 68 | |
| 69 | <h3>Library Working group Issues Status</h3> |
| 70 | <!-- <I>Note: "NAD" means that the issue was deemed "Not a defect"</I> --> |
| 71 | <table id="issues" border="1"> |
| 72 | <tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr> |
| 73 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2016">2016</a></td><td>Allocators must be no-throw swappable</td><td>Urbana</td><td></td></tr> |
Marshall Clow | e8584ca | 2014-11-19 15:59:16 +0000 | [diff] [blame] | 74 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2376">2118</td><td><code>unique_ptr</code> for array does not support cv qualification conversion of actual argument</td><td>Urbana</td><td>Will be resolved by N4089</td></tr> |
Marshall Clow | 0846f54b | 2015-04-28 14:26:29 +0000 | [diff] [blame] | 75 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2170">2170</a></td><td>Aggregates cannot be <code>DefaultConstructible</code></td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | e8584ca | 2014-11-19 15:59:16 +0000 | [diff] [blame] | 76 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2387">2308</td><td>Clarify container destructor requirements w.r.t. <code>std::array</code></td><td>Urbana</td><td>Will be resolved by N4258</td></tr> |
Marshall Clow | f127a2d | 2014-11-18 17:35:16 +0000 | [diff] [blame] | 77 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2340">2340</a></td><td>Replacement allocation functions declared as inline</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 6864068 | 2014-11-10 15:43:20 +0000 | [diff] [blame] | 78 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2354">2354</a></td><td>Unnecessary copying when inserting into maps with braced-init syntax</td><td>Urbana</td><td></td></tr> |
Marshall Clow | 0846f54b | 2015-04-28 14:26:29 +0000 | [diff] [blame] | 79 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2377">2377</a></td><td><code>std::align</code> requirements overly strict</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | f127a2d | 2014-11-18 17:35:16 +0000 | [diff] [blame] | 80 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2396">2396</a></td><td><code>underlying_type</code> doesn't say what to do for an incomplete enumeration type</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 90ba623 | 2014-11-18 20:37:47 +0000 | [diff] [blame] | 81 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2399">2399</a></td><td><code>shared_ptr</code>'s constructor from <code>unique_ptr</code> should be constrained</td><td>Urbana</td><td>Complete</td></tr> |
| 82 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2400">2400</a></td><td><code>shared_ptr</code>'s <code>get_deleter()</code> should use <code>addressof()</code></td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | f127a2d | 2014-11-18 17:35:16 +0000 | [diff] [blame] | 83 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2401">2401</a></td><td><code>std::function</code> needs more noexcept</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 90ba623 | 2014-11-18 20:37:47 +0000 | [diff] [blame] | 84 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2404">2404</a></td><td><code>mismatch()</code>'s complexity needs to be updated</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 903a5dd | 2015-04-28 19:35:36 +0000 | [diff] [blame] | 85 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2408">2408</a></td><td>SFINAE-friendly <code>common_type</code> / <code>iterator_traits</code> is missing in C++14</td><td>Urbana</td><td><code>common_type</code> is waiting on <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2465">LWG#2465</a></td></tr> |
Marshall Clow | 6864068 | 2014-11-10 15:43:20 +0000 | [diff] [blame] | 86 | <tr><td></td><td></td><td></td><td></td></tr> |
| 87 | |
| 88 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2106">2106</td><td><code>move_iterator</code> wrapping iterators returning prvalues</td><td>Urbana</td><td></td></tr> |
Marshall Clow | 3687d3c | 2014-11-17 15:50:08 +0000 | [diff] [blame] | 89 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2129">2129</td><td>User specializations of <code>std::initializer_list</code></td><td>Urbana</td><td>Complete</td></tr> |
| 90 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2212">2212</td><td><code>tuple_size</code> for <code>const pair</code> request <tuple> header</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | b04058e | 2014-12-15 23:57:56 +0000 | [diff] [blame] | 91 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2217">2217</td><td><code>operator==(sub_match, string)</code> slices on embedded '\0's</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 3687d3c | 2014-11-17 15:50:08 +0000 | [diff] [blame] | 92 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2230">2230</td><td>"see below" for <code>initializer_list</code> constructors of unordered containers</td><td>Urbana</td><td>Complete</td></tr> |
| 93 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2233">2233</td><td><code>bad_function_call::what()</code> unhelpful</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 6864068 | 2014-11-10 15:43:20 +0000 | [diff] [blame] | 94 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2266">2266</td><td><code>vector</code> and <code>deque</code> have incorrect insert requirements</td><td>Urbana</td><td></td></tr> |
Marshall Clow | 3687d3c | 2014-11-17 15:50:08 +0000 | [diff] [blame] | 95 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2325">2325</td><td><code>minmax_element()</code>'s behavior differing from <code>max_element()</code>'s should be noted</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 6864068 | 2014-11-10 15:43:20 +0000 | [diff] [blame] | 96 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2361">2361</td><td>Apply 2299 resolution throughout library</td><td>Urbana</td><td></td></tr> |
Marshall Clow | 3687d3c | 2014-11-17 15:50:08 +0000 | [diff] [blame] | 97 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2365">2365</td><td>Missing noexcept in <code>shared_ptr::shared_ptr(nullptr_t)</code></td><td>Urbana</td><td>Complete</td></tr> |
| 98 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2376">2376</td><td><code>bad_weak_ptr::what()</code> overspecified</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 8f34134 | 2015-04-30 15:19:44 +0000 | [diff] [blame] | 99 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2387">2387</td><td>More nested types that must be accessible and unambiguous</td><td>Urbana</td><td>Complete</td></tr> |
Marshall Clow | 6864068 | 2014-11-10 15:43:20 +0000 | [diff] [blame] | 100 | <!-- |
| 101 | <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#1214">1214</a></td><td>Insufficient/inconsistent key immutability requirements for associative containers</td><td>Urbana</td><td></td></tr> |
| 102 | --> |
| 103 | <!-- <tr><td></td><td></td><td></td><td></td></tr> --> |
| 104 | </table> |
| 105 | |
Marshall Clow | de55932 | 2015-05-01 22:14:35 +0000 | [diff] [blame^] | 106 | <p>Last Updated: 1-May-2015</p> |
Marshall Clow | 6864068 | 2014-11-10 15:43:20 +0000 | [diff] [blame] | 107 | </div> |
| 108 | </body> |
| 109 | </html> |