blob: 0b88d1c66c6bbd3b9b7a526b26aeb752ba3fb256 [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>
Marshall Clowc3eec462017-02-06 15:29:03 +00006 <meta http-equiv="content-type" content="text/html; charset=utf-8">
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>
Stephan T. Lavavejf966d3f2017-08-31 17:59:42 +000015 <a href="https://llvm.org/">LLVM Home</a>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000016 </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>
Stephan T. Lavavejf966d3f2017-08-31 17:59:42 +000025 <a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
26 <a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
Eric Fiselierb7fd0be2017-02-17 08:37:03 +000027 <a href="https://bugs.llvm.org/">Bug Reports</a>
Stephan T. Lavavejf966d3f2017-08-31 17:59:42 +000028 <a href="https://llvm.org/svn/llvm-project/libcxx/trunk/">Browse SVN</a>
29 <a href="https://llvm.org/viewvc/llvm-project/libcxx/trunk/">Browse ViewVC</a>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000030 </div>
31</div>
32
33<div id="content">
34 <!--*********************************************************************-->
Marshall Clowf003d632018-02-07 19:24:37 +000035 <h1>libc++ Upcoming Meeting Status</h1>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000036 <!--*********************************************************************-->
37
Marshall Clow6735cca2018-10-06 15:07:03 +000038 <p>This is a temporary page; please check the c++2a status <a href="cxx2a_status.html">here</a></p>
Marshall Clowd422c952017-11-01 04:03:35 +000039 <p>This page shows the status of the papers and issues that are expected to be adopted in the next WG21 Meeting.</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>
Marshall Clow2ac0ed02017-06-26 04:25:15 +000048
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000049 <h3>Paper Status</h3>
Marshall Clow6735cca2018-10-06 15:07:03 +000050 <table border="1">
51 <tr><th>Paper #</th><th>Group</th><th>Paper Name</th><th>Meeting</th><th>Status</th></tr>
52 <tr><td><a href="https://wg21.link/P0487R0">P0487R0</a></td><td>LWG</td><td>Fixing operator&gt;&gt; (basic_istream&amp;, CharT*) (LWG 2499)</td><td>San Diego</td><td><i> </i></td></tr>
53 <tr><td><a href="https://wg21.link/P0602R3">P0602R3</a></td><td>LWG</td><td>variant and optional should propagate copy/move triviality</td><td>San Diego</td><td><i> </i></td></tr>
54 <tr><td><a href="https://wg21.link/P0655R0">P0655R0</a></td><td>LWG</td><td>visit&lt;R&gt;: Explicit Return Type for visit</td><td>San Diego</td><td><i> </i></td></tr>
Marshall Clowc5a77b22018-10-29 19:31:35 +000055 <tr><td><a href="https://wg21.link/P0972R0">P0972R0</a></td><td>LWG</td><td>&lt;chrono&gt; zero(), min(), and max() should be noexcept</td><td>San Diego</td><td>See <a href="https://reviews.llvm.org/D53828">D53828</a></td></tr>
Marshall Clow6735cca2018-10-06 15:07:03 +000056 <tr><td><a href="https://wg21.link/P1004R0">P1004R0</a></td><td>LWG</td><td>Making std::vector constexpr</td><td>San Diego</td><td><i> </i></td></tr>
Louis Dionne831ab1b2018-10-30 21:50:11 +000057 <tr><td><a href="https://wg21.link/P1006R0">P1006R0</a></td><td>LWG</td><td>Constexpr in std::pointer_traits</td><td>San Diego</td><td>See <a href="https://reviews.llvm.org/D53867">D53867</a></td></tr>
58 <tr><td><a href="https://wg21.link/P1032R0">P1032R0</a></td><td>LWG</td><td>Misc constexpr bits</td><td>San Diego</td><td><i> </i></td></tr>
Marshall Clow6735cca2018-10-06 15:07:03 +000059 <tr><td><a href="http://wiki.edg.com/pub/LWGBatavia2018/LibraryWorkingGroup/D1148R0a.pdf">D1148</a></td><td>LWG</td><td>Cleaning up Clause 20</td><td>San Diego</td><td><i> </i></td></tr>
60 <tr><td><a href="http://wiki.edg.com/pub/LWGBatavia2018/LibraryWorkingGroup/D1163R0V2.pdf">D1163</a></td><td>LWG</td><td>Explicitly Implicifying explicit Constructors</td><td>San Diego</td><td><i> </i></td></tr>
61 </table>
62
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000063
64 <h3>Library Working group Issues Status</h3>
65 <table id="issues" border="1">
Marshall Clow6cec3422016-05-31 14:29:38 +000066 <tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr>
67
Marshall Clow173057e2018-10-23 01:30:14 +000068<tr><td><a href="https://wg21.link/LWG2183">2183</a></td><td>Muddled allocator requirements for <tt>match_results</tt> constructors</td><td>San Diego</td><td>Complete</td></tr>
Marshall Clow6735cca2018-10-06 15:07:03 +000069<tr><td><a href="https://wg21.link/LWG2184">2184</a></td><td>Muddled allocator requirements for <tt>match_results</tt> assignments</td><td>San Diego</td><td></td></tr>
70<tr><td><a href="https://wg21.link/LWG2412">2412</a></td><td><tt>promise::set_value()</tt> and <tt>promise::get_future()</tt> should not race</td><td>San Diego</td><td></td></tr>
71<tr><td><a href="https://wg21.link/LWG2682">2682</a></td><td><code>filesystem::copy()</code> won't create a symlink to a directory</td><td>San Diego</td><td></td></tr>
72<tr><td><a href="https://wg21.link/LWG2697">2697</a></td><td>[concurr.ts] Behavior of <tt>future/shared_future</tt> unwrapping constructor when given an invalid <tt>future</tt></td><td>San Diego</td><td></td></tr>
73<tr><td><a href="https://wg21.link/LWG2936">2936</a></td><td>Path comparison is defined in terms of the generic format</td><td>San Diego</td><td></td></tr>
74<tr><td><a href="https://wg21.link/LWG2943">2943</a></td><td>Problematic specification of the wide version of <tt>basic_filebuf::open</tt></td><td>San Diego</td><td></td></tr>
75<tr><td><a href="https://wg21.link/LWG2960">2960</a></td><td>[fund.ts.v3] <tt>nonesuch</tt> is insufficiently useless</td><td>San Diego</td><td></td></tr>
Marshall Clow173057e2018-10-23 01:30:14 +000076<tr><td><a href="https://wg21.link/LWG2995">2995</a></td><td><tt>basic_stringbuf</tt> default constructor forbids it from using SSO capacity</td><td>San Diego</td><td><i>We know how to do this</i></td></tr>
Marshall Clow6735cca2018-10-06 15:07:03 +000077<tr><td><a href="https://wg21.link/LWG2996">2996</a></td><td>Missing rvalue overloads for <tt>shared_ptr</tt> operations</td><td>San Diego</td><td></td></tr>
78<tr><td><a href="https://wg21.link/LWG3008">3008</a></td><td><tt>make_shared</tt> (sub)object destruction semantics are not specified</td><td>San Diego</td><td></td></tr>
79<tr><td><a href="https://wg21.link/LWG3025">3025</a></td><td>Map-like container deduction guides should use <tt>pair&lt;Key, T&gt;</tt>, not <tt>pair&lt;const Key, T&gt;</tt></td><td>San Diego</td><td></td></tr>
80<tr><td><a href="https://wg21.link/LWG3031">3031</a></td><td>Algorithms and predicates with non-const reference arguments</td><td>San Diego</td><td></td></tr>
81<tr><td><a href="https://wg21.link/LWG3037">3037</a></td><td><tt>polymorphic_allocator</tt> and incomplete types</td><td>San Diego</td><td></td></tr>
82<tr><td><a href="https://wg21.link/LWG3038">3038</a></td><td><tt>polymorphic_allocator::allocate</tt> should not allow integer overflow to create vulnerabilities</td><td>San Diego</td><td></td></tr>
83<tr><td><a href="https://wg21.link/LWG3054">3054</a></td><td><tt>uninitialized_copy</tt> appears to not be able to meet its exception-safety guarantee</td><td>San Diego</td><td></td></tr>
84<tr><td><a href="https://wg21.link/LWG3065">3065</a></td><td>LWG 2989 missed that all <tt>path</tt>'s other operators should be hidden friends as well</td><td>San Diego</td><td></td></tr>
85<tr><td><a href="https://wg21.link/LWG3096">3096</a></td><td><tt>path::lexically_relative</tt> is confused by trailing slashes</td><td>San Diego</td><td></td></tr>
86<tr><td><a href="https://wg21.link/LWG3116">3116</a></td><td><tt><i>OUTERMOST_ALLOC_TRAITS</i></tt> needs <tt>remove_reference_t</tt></td><td>San Diego</td><td></td></tr>
87<tr><td><a href="https://wg21.link/LWG3122">3122</a></td><td><tt>__cpp_lib_chrono_udls</tt> was accidentally dropped</td><td>San Diego</td><td></td></tr>
88<tr><td><a href="https://wg21.link/LWG3127">3127</a></td><td><tt>basic_osyncstream::rdbuf</tt> needs a <tt>const_cast</tt></td><td>San Diego</td><td></td></tr>
89<tr><td><a href="https://wg21.link/LWG3128">3128</a></td><td><tt>strstream::rdbuf</tt> needs a <tt>const_cast</tt></td><td>San Diego</td><td></td></tr>
90<tr><td><a href="https://wg21.link/LWG3129">3129</a></td><td><tt>regex_token_iterator</tt> constructor uses wrong pointer arithmetic</td><td>San Diego</td><td></td></tr>
91<tr><td><a href="https://wg21.link/LWG3130">3130</a></td><td>&sect;[input.output] needs many <tt>addressof</tt></td><td>San Diego</td><td></td></tr>
92<tr><td><a href="https://wg21.link/LWG3131">3131</a></td><td><tt>addressof</tt> all the things</td><td>San Diego</td><td></td></tr>
93<tr><td><a href="https://wg21.link/LWG3132">3132</a></td><td>Library needs to ban macros named <tt>expects</tt> or <tt>ensures</tt></td><td>San Diego</td><td></td></tr>
94<tr><td><a href="https://wg21.link/LWG3134">3134</a></td><td>[fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961</td><td>San Diego</td><td></td></tr>
95<tr><td><a href="https://wg21.link/LWG3137">3137</a></td><td>Header for <tt>__cpp_lib_to_chars</tt></td><td>San Diego</td><td></td></tr>
96<tr><td><a href="https://wg21.link/LWG3145">3145</a></td><td><tt>file_clock</tt> breaks ABI for C++17 implementations</td><td>San Diego</td><td></td></tr>
97<tr><td><a href="https://wg21.link/LWG3147">3147</a></td><td>Definitions of "likely" and "unlikely" are likely to cause problems</td><td>San Diego</td><td></td></tr>
98<tr><td><a href="https://wg21.link/LWG3148">3148</a></td><td><tt>&lt;concepts&gt;</tt> should be freestanding</td><td>San Diego</td><td></td></tr>
99<tr><td><a href="https://wg21.link/LWG3153">3153</a></td><td><tt>Common</tt> and <tt>common_type</tt> have too little in common</td><td>San Diego</td><td></td></tr>
100<tr><td><a href="https://wg21.link/LWG3154">3154</a></td><td><tt>Common</tt> and <tt>CommonReference</tt> have a common defect</td><td>San Diego</td><td></td></tr>
Marshall Clow5a00ab82017-02-06 15:17:22 +0000101
Marshall Clow6a32b9d2018-05-07 14:21:52 +0000102</table>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000103
Marshall Clow53095c72018-02-05 23:50:49 +0000104<h3>Issues to "Review"</h3>
105<table border="1">
106<tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr>
Marshall Clow53095c72018-02-05 23:50:49 +0000107</table>
108
109
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000110<h3>Comments about the issues</h3>
111<ul>
Marshall Clow173057e2018-10-23 01:30:14 +0000112<li>2183 - We're missing tests for match_results (copy ctor, move ctor). I committed them in r344988.</li>
113<li>2184 - We're missing tests for match_results (copy assign, move assing). I wrote them. Unfortunately, the move-assign test fails.</li>
Marshall Clow6735cca2018-10-06 15:07:03 +0000114<li>2412 - </li>
Marshall Clow173057e2018-10-23 01:30:14 +0000115<li>2682 - Eric? </li>
Marshall Clow6735cca2018-10-06 15:07:03 +0000116<li>2697 - </li>
117<li>2936 - </li>
Marshall Clowdd100752018-10-22 23:52:09 +0000118<li>2943 - Eric? I suspect that this is no change for us.</li>
Marshall Clow6735cca2018-10-06 15:07:03 +0000119<li>2960 - </li>
Marshall Clow173057e2018-10-23 01:30:14 +0000120<li>2995 - We used to do this. Reverting r320604 and r321124 will get us back there.</li>
Marshall Clow6735cca2018-10-06 15:07:03 +0000121<li>2996 - </li>
122<li>3008 - </li>
123<li>3025 - </li>
124<li>3031 - Marshall says: I don't think we have to do anything for this issue. Maybe some tests; maybe a static_assert.</li>
125<li>3037 - Marshall says: We don't have std::polymorphic_allocator yet.</li>
126<li>3038 - Marshall says: We don't have std::polymorphic_allocator yet.</li>
127<li>3054 - Marshall says: We already do this; may need to update some tests.</li>
128<li>3065 - </li>
129<li>3096 - Eric? </li>
130<li>3116 - </li>
Marshall Clowdd100752018-10-22 23:52:09 +0000131<li>3122 - Marshall says I have updated the comments in &lt;version&gt; and in the tests.</li>
132<li>3127 - Marshall says: We don't have basic_osyncstream yet.</li>
Marshall Clow6735cca2018-10-06 15:07:03 +0000133<li>3128 - </li>
134<li>3129 - Marshall says: This is an easy change; I think this is more wording cleanup than anything. I will prepare a patch</li>
135<li>3130 - </li>
Marshall Clowdd100752018-10-22 23:52:09 +0000136<li>3131 - Only changes 11 & 12 affect libc++. </li>
Marshall Clow6735cca2018-10-06 15:07:03 +0000137<li>3132 - Marshall says: I don't think we have to do anything for this issue</li>
138<li>3134 - Marshall says: I don't think we have to do anything for this issue</li>
Marshall Clowdd100752018-10-22 23:52:09 +0000139<li>3137 - Marshall says I have updated the comments in &lt;version&gt; and in the tests.</li>
Marshall Clow6735cca2018-10-06 15:07:03 +0000140<li>3145 - Eric? </li>
141<li>3147 - Marshall - I don't think we have to do anything for this issue</li>
142<li>3148 - </li>
143<li>3153 - </li>
144<li>3154 - </li>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000145</ul>
146
Marshall Clowc5a77b22018-10-29 19:31:35 +0000147<p>Last Updated: 29-Oct-2018</p>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000148</div>
149</body>
150</html>