aboutsummaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2016-07-23 20:44:14 +0000
committerDimitry Andric <dim@FreeBSD.org>2016-07-23 20:44:14 +0000
commit2b6b257f4e5503a7a2675bdb8735693db769f75c (patch)
treee85e046ae7003fe3bcc8b5454cd0fa3f7407b470 /www
parentb4348ed0b7e90c0831b925fbee00b5f179a99796 (diff)
downloadsrc-2b6b257f4e5503a7a2675bdb8735693db769f75c.tar.gz
src-2b6b257f4e5503a7a2675bdb8735693db769f75c.zip
Vendor import of clang release_39 branch r276489:vendor/clang/clang-release_39-r276489
Notes
Notes: svn path=/vendor/clang/dist/; revision=303233 svn path=/vendor/clang/clang-release_39-r276489/; revision=303234; tag=vendor/clang/clang-release_39-r276489
Diffstat (limited to 'www')
-rw-r--r--www/analyzer/faq.html27
-rw-r--r--www/analyzer/latest_checker.html.incl2
-rw-r--r--www/analyzer/release_notes.html15
-rw-r--r--www/analyzer/scan-build.html3
-rw-r--r--www/compatibility.html30
-rw-r--r--www/cxx_dr_status.html1704
-rw-r--r--www/cxx_status.html158
-rw-r--r--www/get_started.html34
-rw-r--r--www/hacking.html14
-rw-r--r--www/index.html8
10 files changed, 1535 insertions, 460 deletions
diff --git a/www/analyzer/faq.html b/www/analyzer/faq.html
index 9d2962b1121a..cf3dc70035f6 100644
--- a/www/analyzer/faq.html
+++ b/www/analyzer/faq.html
@@ -28,6 +28,7 @@ pointer is never null. How can I tell the analyzer that a pointer can never be
null?</a></li>
<li><a href="#dead_store">How do I tell the static analyzer that I don't care about a specific dead store?</a></li>
<li><a href="#unused_ivar">How do I tell the static analyzer that I don't care about a specific unused instance variable in Objective C?</a></li>
+ <li><a href="#unlocalized_string">How do I tell the static analyzer that I don't care about a specific unlocalized string?</a></li>
<li><a href="#use_assert">The analyzer assumes that a loop body is never entered. How can I tell it that the loop body will be entered at least once?</a></li>
<li><a href="#suppress_issue">How can I suppress a specific analyzer warning?</a></li>
<li><a href="#exclude_code">How can I selectively exclude code the analyzer examines?</a></li>
@@ -78,6 +79,32 @@ You can use the <tt>(void)x;</tt> idiom to acknowledge that there is a dead stor
<pre class="code_example">Instance variable 'commonName' in class 'HappyBird' is never used by the methods in its @implementation</pre>
You can add <tt>__attribute__((unused))</tt> to the instance variable declaration to suppress the warning.</p>
+<h4 id="unlocalized_string" class="faq">Q: How do I tell the static analyzer that I don't care about a specific unlocalized string?</h4>
+
+<p>When the analyzer sees that an unlocalized string is passed to a method that will present that string to the user, it is going to produce a message similar to this one:
+<pre class="code_example">User-facing text should use localized string macro</pre>
+
+If your project deliberately uses unlocalized user-facing strings (for example, in a debugging UI that is never shown to users), you can suppress the analyzer warnings (and document your intent) with a function that just returns its input but is annotated to return a localized string:
+<pre class="code_example">
+__attribute__((annotate("returns_localized_nsstring")))
+static inline NSString *LocalizationNotNeeded(NSString *s) {
+ return s;
+}
+</pre>
+
+You can then call this function when creating your debugging UI:
+<pre class="code_example">
+[field setStringValue:LocalizationNotNeeded(@"Debug")];
+</pre>
+
+Some projects may also find it useful to use NSLocalizedString but add "DNL" or "Do Not Localize" to the string contents as a convention:
+<pre class="code_example">
+UILabel *testLabel = [[UILabel alloc] init];
+NSString *s = NSLocalizedString(@"Hello &lt;Do Not Localize&gt;", @"For debug purposes");
+[testLabel setText:s];
+</pre>
+</p>
+
<h4 id="use_assert" class="faq">Q: The analyzer assumes that a loop body is never entered. How can I tell it that the loop body will be entered at least once?</h4>
<img src="images/example_use_assert.png" alt="example use assert">
diff --git a/www/analyzer/latest_checker.html.incl b/www/analyzer/latest_checker.html.incl
index 84d64e61a9a9..0f236208dff7 100644
--- a/www/analyzer/latest_checker.html.incl
+++ b/www/analyzer/latest_checker.html.incl
@@ -1 +1 @@
-<b><a href="downloads/checker-277.tar.bz2">checker-277.tar.bz2</a></b> (built October 28, 2015)
+<b><a href="downloads/checker-278.tar.bz2">checker-278.tar.bz2</a></b> (built February 5, 2016)
diff --git a/www/analyzer/release_notes.html b/www/analyzer/release_notes.html
index be78a1933c94..85aa08f158aa 100644
--- a/www/analyzer/release_notes.html
+++ b/www/analyzer/release_notes.html
@@ -14,6 +14,21 @@
<div id="content">
<h1>Release notes for <tt>checker-XXX</tt> builds</h1>
+<h4 id="checker_278">checker-278</h4>
+<p><b>built:</b> February 5, 2016</br>
+ <b>download:</b> <a href="downloads/checker-278.tar.bz2">checker-278.tar.bz2</a></p>
+ <p><b>highlights:</b></p>
+ <ul>
+ <li>Greatly improves analysis of C++ lambdas, including interprocedural analysis of lambda applications and reduced 'dead store'
+ false positives for variables captured by reference.</li>
+ <li>The analyzer now checks for misuse of 'vfork()'. This check is enabled by default.</li>
+ <li>The analyzer can now detect excessively-padded structs. This check can be enabled by passing the following
+ command to scan-build:<br />
+ &nbsp;&nbsp;<tt>-enable-checker optin.performance.Padding</tt> </li>
+ <li>The checks to detect misuse of <tt>_Nonnull</tt> are now enabled by default.</li>
+ <li>The checks to detect misuse of Objective-C generics are now enabled by default.</li>
+ <li>Many miscellaneous improvements.</li>
+ </ul>
<h4 id="checker_277">checker-277</h4>
<p><b>built:</b> October 28, 2015</br>
diff --git a/www/analyzer/scan-build.html b/www/analyzer/scan-build.html
index 04e93232a6b3..b16f6bb53fa7 100644
--- a/www/analyzer/scan-build.html
+++ b/www/analyzer/scan-build.html
@@ -226,6 +226,9 @@ Assertions are picked up by the static analyzer to prune infeasible paths, which
in some cases can greatly reduce the number of false positives (bogus error
reports) emitted by the tool.</p>
+<p>Another option is to use <tt>--force-analyze-debug-code</tt> flag of
+<b>scan-build</b> tool which would enable assertions automatically.</p>
+
<h3 id="recommend_verbose">Use verbose output when debugging scan-build</h3>
<p><tt>scan-build</tt> takes a <b>-v</b> option to emit verbose output about
diff --git a/www/compatibility.html b/www/compatibility.html
index 293be6f22032..512beaa04271 100644
--- a/www/compatibility.html
+++ b/www/compatibility.html
@@ -415,19 +415,11 @@ extern int c; // allowed
<p>GCC and C99 allow an array's size to be determined at run
time. This extension is not permitted in standard C++. However, Clang
-supports such variable length arrays in very limited circumstances for
-compatibility with GNU C and C99 programs:</p>
+supports such variable length arrays for compatibility with GNU C and
+C99 programs.</p>
-<ul>
- <li>The element type of a variable length array must be a POD
- ("plain old data") type, which means that it cannot have any
- user-declared constructors or destructors, any base classes, or any
- members of non-POD type. All C types are POD types.</li>
-
- <li>Variable length arrays cannot be used as the type of a non-type
-template parameter.</li> </ul>
-
-<p>If your code uses variable length arrays in a manner that Clang doesn't support, there are several ways to fix your code:
+<p>If you would prefer not to use this extension, you can disable it with
+<tt>-Werror=vla</tt>. There are several ways to fix your code:
<ol>
<li>replace the variable length array with a fixed-size array if you can
@@ -566,7 +558,7 @@ lookup in templates, see [temp.dep.candidate].
<h3 id="dep_lookup_bases">Unqualified lookup into dependent bases of class templates</h3>
<!-- ======================================================================= -->
-Some versions of GCC accept the following invalid code:
+<p>Some versions of GCC accept the following invalid code:
<pre>
template &lt;typename T&gt; struct Base {
@@ -636,7 +628,7 @@ dispatch!
<h3 id="undep_incomplete">Incomplete types in templates</h3>
<!-- ======================================================================= -->
-The following code is invalid, but compilers are allowed to accept it:
+<p>The following code is invalid, but compilers are allowed to accept it:
<pre>
class IOOptions;
@@ -667,7 +659,7 @@ other compilers accept.
<h3 id="bad_templates">Templates with no valid instantiations</h3>
<!-- ======================================================================= -->
-The following code contains a typo: the programmer
+<p>The following code contains a typo: the programmer
meant <tt>init()</tt> but wrote <tt>innit()</tt> instead.
<pre>
@@ -714,7 +706,7 @@ simple: since the code is unused, just remove it.
<h3 id="default_init_const">Default initialization of const variable of a class type requires user-defined default constructor</h3>
<!-- ======================================================================= -->
-If a <tt>class</tt> or <tt>struct</tt> has no user-defined default
+<p>If a <tt>class</tt> or <tt>struct</tt> has no user-defined default
constructor, C++ doesn't allow you to default construct a <tt>const</tt>
instance of it like this ([dcl.init], p9):
@@ -747,11 +739,15 @@ void Bar() {
}
</pre>
+An upcoming change to the C++ standard is expected to weaken this rule to only
+apply when the compiler-supplied default constructor would leave a member
+uninitialized. Clang implements the more relaxed rule in version 3.8 onwards.
+
<!-- ======================================================================= -->
<h3 id="param_name_lookup">Parameter name lookup</h3>
<!-- ======================================================================= -->
-<p>Due to a bug in its implementation, GCC allows the redeclaration of function parameter names within a function prototype in C++ code, e.g.</p>
+<p>Some versions of GCC allow the redeclaration of function parameter names within a function prototype in C++ code, e.g.</p>
<blockquote>
<pre>
void f(int a, int a);
diff --git a/www/cxx_dr_status.html b/www/cxx_dr_status.html
index 3db08a0be5cc..fb4c0697a2fa 100644
--- a/www/cxx_dr_status.html
+++ b/www/cxx_dr_status.html
@@ -28,7 +28,7 @@
<!--*************************************************************************-->
<h1>C++ Defect Report Support in Clang</h1>
<!--*************************************************************************-->
-<p>Last updated: $Date: 2016-01-14 00:48:11 +0100 (Thu, 14 Jan 2016) $</p>
+<p>Last updated: $Date: 2016-06-28 22:35:53 +0200 (Tue, 28 Jun 2016) $</p>
<h2 id="cxxdr">C++ defect report implementation status</h2>
@@ -587,11 +587,11 @@
<td>A union's associated types should include the union itself</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="92">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#92">92</a></td>
- <td>extension</td>
+ <tr id="92">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#92">92</a></td>
+ <td>accepted</td>
<td>Should <I>exception-specification</I>s be part of the type system?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="93">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#93">93</a></td>
@@ -1308,11 +1308,11 @@ accessible?</td>
<td>Constructors should not be allowed to return normally after an exception</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="212">
+ <tr id="212">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#212">212</a></td>
- <td>drafting</td>
+ <td>tentatively ready</td>
<td>Implicit instantiation is not described clearly enough</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="213">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#213">213</a></td>
@@ -1464,11 +1464,11 @@ accessible?</td>
<td>Explicit instantiation and base class members</td>
<td class="full" align="center">Duplicate of <a href="#470">470</a></td>
</tr>
- <tr class="open" id="238">
+ <tr id="238">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#238">238</a></td>
- <td>open</td>
+ <td>tentatively ready</td>
<td>Precision and accuracy constraints on floating point</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="239">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#239">239</a></td>
@@ -1488,11 +1488,11 @@ accessible?</td>
<td>Error in example in 14.8.1</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="242">
+ <tr id="242">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#242">242</a></td>
- <td>drafting</td>
+ <td>tentatively ready</td>
<td>Interpretation of old-style casts</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="243">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#243">243</a></td>
@@ -2019,7 +2019,7 @@ of class templates</td>
</tr>
<tr id="330">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#330">330</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Qualification conversions and pointers to arrays of pointers</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -2397,7 +2397,7 @@ of class templates</td>
</tr>
<tr id="393">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#393">393</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Pointer to array of unknown bound in template argument list in parameter</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -3023,7 +3023,7 @@ of class templates</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#497">497</a></td>
<td>CD1</td>
<td>Missing required initialization in example</td>
- <td class="full" align="center">Yes</td>
+ <td class="none" align="center">Superseded by <a href="#253">253</a></td>
</tr>
<tr class="open" id="498">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#498">498</a></td>
@@ -3365,7 +3365,7 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="554">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#554">554</a></td>
- <td>review</td>
+ <td>drafting</td>
<td>Definition of &#8220;declarative region&#8221; and &#8220;scope&#8221;</td>
<td align="center">Not resolved</td>
</tr>
@@ -3523,7 +3523,7 @@ and <I>POD class</I></td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#580">580</a></td>
<td>C++11</td>
<td>Access in <I>template-parameter</I>s of member and friend definitions</td>
- <td class="none" align="center">No</td>
+ <td class="partial" align="center">Partial</td>
</tr>
<tr class="open" id="581">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#581">581</a></td>
@@ -3587,7 +3587,7 @@ and <I>POD class</I></td>
</tr>
<tr id="591">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#591">591</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>When a dependent base class is the current instantiation</td>
<td class="none" align="center">No</td>
</tr>
@@ -3695,7 +3695,7 @@ and <I>POD class</I></td>
</tr>
<tr id="609">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#609">609</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>What is a &#8220;top-level&#8221; cv-qualifier?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -5476,8 +5476,8 @@ and <I>POD class</I></td>
<td align="center">Not resolved</td>
</tr>
<tr class="open" id="944">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#944">944</a></td>
- <td>open</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#944">944</a></td>
+ <td>extension</td>
<td><TT>reinterpret_cast</TT> for all types with the same size and alignment</td>
<td align="center">Not resolved</td>
</tr>
@@ -5735,7 +5735,7 @@ and <I>POD class</I></td>
</tr>
<tr id="987">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#987">987</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Which declarations introduce namespace members?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -5939,7 +5939,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1021">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1021">1021</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Definitions of namespace members</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7294,8 +7294,8 @@ and <I>POD class</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1247">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1247">1247</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1247">1247</a></td>
+ <td>DRWP</td>
<td>Restriction on alias name appearing in <I>type-id</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7315,7 +7315,7 @@ and <I>POD class</I></td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1250">1250</a></td>
<td>CD3</td>
<td>Cv-qualification of incomplete virtual function return types</td>
- <td class="none" align="center">Unknown</td>
+ <td class="svn" align="center">SVN</td>
</tr>
<tr id="1251">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1251">1251</a></td>
@@ -7455,11 +7455,11 @@ and <I>POD class</I></td>
<td>Accessibility and function signatures</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1274">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1274">1274</a></td>
- <td>drafting</td>
+ <tr id="1274">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1274">1274</a></td>
+ <td>DR</td>
<td>Common nonterminal for <I>expression</I> and <I>braced-init-list</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1275">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1275">1275</a></td>
@@ -7515,11 +7515,11 @@ and <I>POD class</I></td>
<td>Static data members of classes with typedef name for linkage purposes</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1284">
+ <tr id="1284">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1284">1284</a></td>
- <td>drafting</td>
+ <td>tentatively ready</td>
<td>Should the lifetime of an array be independent of that of its elements?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1285">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1285">1285</a></td>
@@ -7565,7 +7565,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1292">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1292">1292</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Dependent calls with <I>braced-init-list</I>s containing a pack expansion</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7666,8 +7666,8 @@ and <I>POD class</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1309">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1309">1309</a></td>
- <td>ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1309">1309</a></td>
+ <td>DRWP</td>
<td>Incorrect note regarding lookup of a member of the current instantiation</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7701,11 +7701,11 @@ and <I>POD class</I></td>
<td>Pointer arithmetic within standard-layout objects</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1315">
+ <tr id="1315">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1315">1315</a></td>
- <td>drafting</td>
+ <td>tentatively ready</td>
<td>Restrictions on non-type template arguments in partial specializations</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1316">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1316">1316</a></td>
@@ -7841,7 +7841,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1338">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1338">1338</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Aliasing and allocation functions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7857,11 +7857,11 @@ and <I>POD class</I></td>
<td>Complete type in member pointer expressions</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1341">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1341">1341</a></td>
- <td>drafting</td>
+ <tr id="1341">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1341">1341</a></td>
+ <td>NAD</td>
<td>Bit-field initializers</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1342">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1342">1342</a></td>
@@ -7919,7 +7919,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1351">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1351">1351</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Problems with implicitly-declared <I>exception-specification</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7949,7 +7949,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1356">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1356">1356</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Exception specifications of copy assignment operators with virtual bases</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7969,7 +7969,7 @@ and <I>POD class</I></td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1359">1359</a></td>
<td>CD3</td>
<td><TT>constexpr</TT> union constructors</td>
- <td class="none" align="center">Unknown</td>
+ <td class="full" align="center">Clang 3.5</td>
</tr>
<tr class="open" id="1360">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1360">1360</a></td>
@@ -8157,11 +8157,11 @@ and <I>POD class</I></td>
<td>Dependency of alias template specializations</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1391">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1391">1391</a></td>
- <td>drafting</td>
+ <tr id="1391">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1391">1391</a></td>
+ <td>DR</td>
<td>Conversions to parameter types with non-deduced template arguments</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1392">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1392">1392</a></td>
@@ -8195,7 +8195,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1397">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1397">1397</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Class completeness in non-static data member initializers</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -8489,7 +8489,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1446">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1446">1446</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Member function with no <I>ref-qualifier</I> and non-member function with rvalue reference</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -8603,7 +8603,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1465">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1465">1465</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>noexcept</TT> and <TT>std::bad_array_new_length</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -8615,7 +8615,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1467">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1467">1467</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>List-initialization of aggregate from same-type object</td>
<td class="full" align="center">Clang 3.7 (C++11 onwards)</td>
</tr>
@@ -8717,7 +8717,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1484">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1484">1484</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Unused local classes of function templates</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -8753,7 +8753,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1490">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1490">1490</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>List-initialization from a string literal</td>
<td class="full" align="center">Clang 3.7 (C++11 onwards)</td>
</tr>
@@ -8765,7 +8765,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1492">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1492">1492</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Exception specifications on template destructors</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -8787,11 +8787,11 @@ and <I>POD class</I></td>
<td>Partial specialization of variadic class template</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1496">
+ <tr id="1496">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1496">1496</a></td>
- <td>drafting</td>
+ <td>tentatively ready</td>
<td>Triviality with deleted and missing default constructors</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1497">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1497">1497</a></td>
@@ -8921,7 +8921,7 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="1518">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1518">1518</a></td>
- <td>drafting</td>
+ <td>review</td>
<td>Explicit default constructors and copy-list-initialization</td>
<td align="center">Not resolved</td>
</tr>
@@ -9125,7 +9125,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1552">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1552">1552</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><I>exception-specification</I>s and defaulted special member functions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9137,7 +9137,7 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="1554">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1554">1554</a></td>
- <td>drafting</td>
+ <td>open</td>
<td>Access and alias templates</td>
<td align="center">Not resolved</td>
</tr>
@@ -9161,7 +9161,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1558">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1558">1558</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Unused arguments in alias template specializations</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9239,21 +9239,21 @@ and <I>POD class</I></td>
</tr>
<tr id="1571">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1571">1571</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>cv-qualification for indirect reference binding via conversion function</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1572">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1572">1572</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Incorrect example for rvalue reference binding via conversion function</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1573">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1573">1573</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Inherited constructor characteristics</td>
- <td class="none" align="center">Unknown</td>
+ <td class="svn" align="center">SVN</td>
</tr>
<tr id="1574">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1574">1574</a></td>
@@ -9305,7 +9305,7 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="1582">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1582">1582</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Template default arguments and deduction failure</td>
<td align="center">Not resolved</td>
</tr>
@@ -9317,7 +9317,7 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="1584">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1584">1584</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Deducing function types from cv-qualified types</td>
<td align="center">Not resolved</td>
</tr>
@@ -9347,7 +9347,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1589">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1589">1589</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Ambiguous ranking of list-initialization sequences</td>
<td class="full" align="center">Clang 3.7 (C++11 onwards)</td>
</tr>
@@ -9359,7 +9359,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1591">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1591">1591</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Deducing array bound and element type from initializer list</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9389,7 +9389,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1596">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1596">1596</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Non-array objects as <TT>array[1]</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9413,7 +9413,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1600">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1600">1600</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Erroneous reference initialization in example</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9431,7 +9431,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1603">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1603">1603</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Errors resulting from giving unnamed namespaces internal linkage</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9497,13 +9497,13 @@ and <I>POD class</I></td>
</tr>
<tr id="1614">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1614">1614</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Address of pure virtual function vs odr-use</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1615">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1615">1615</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Alignment of types, variables, and members</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9593,15 +9593,15 @@ and <I>POD class</I></td>
</tr>
<tr id="1630">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1630">1630</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Multiple default constructor templates</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1631">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1631">1631</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Incorrect overload resolution for single-element <I>initializer-list</I></td>
- <td class="full" align="center">Clang 3.7 (C++11 onwards)</td>
+ <td class="full" align="center">Clang 3.7</td>
</tr>
<tr class="open" id="1632">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1632">1632</a></td>
@@ -9611,7 +9611,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1633">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1633">1633</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Copy-initialization in member initialization</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9639,15 +9639,15 @@ and <I>POD class</I></td>
<td>Recursion in <TT>constexpr</TT> template default constructor</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1638">
+ <tr id="1638">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1638">1638</a></td>
- <td>drafting</td>
+ <td>tentatively ready</td>
<td>Declaring an explicit specialization of a scoped enumeration</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1639">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1639">1639</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><I>exception-specification</I>s and pointer/pointer-to-member expressions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9681,11 +9681,11 @@ and <I>POD class</I></td>
<td>Equivalent <I>exception-specification</I>s in function template declarations</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1645">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1645">1645</a></td>
- <td>drafting</td>
+ <tr id="1645">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1645">1645</a></td>
+ <td>DR</td>
<td>Identical inheriting constructors via default arguments</td>
- <td align="center">Not resolved</td>
+ <td class="svn" align="center">SVN</td>
</tr>
<tr class="open" id="1646">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1646">1646</a></td>
@@ -9724,16 +9724,16 @@ and <I>POD class</I></td>
<td align="center">Not resolved</td>
</tr>
<tr id="1652">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1652">1652</a></td>
- <td>ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1652">1652</a></td>
+ <td>DRWP</td>
<td>Object addresses in <TT>constexpr</TT> expressions</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1653">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1653">1653</a></td>
- <td>drafting</td>
+ <tr id="1653">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1653">1653</a></td>
+ <td>accepted</td>
<td>Removing deprecated increment of <TT>bool</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1654">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1654">1654</a></td>
@@ -9755,7 +9755,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1657">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1657">1657</a></td>
- <td>accepted</td>
+ <td>WP</td>
<td>Attributes for namespaces and enumerators</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9777,11 +9777,11 @@ and <I>POD class</I></td>
<td><I>member-declaration</I> requirements and unnamed bit-fields</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1661">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1661">1661</a></td>
- <td>concurrency</td>
+ <tr id="1661">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1661">1661</a></td>
+ <td>NAD</td>
<td>Preservation of infinite loops</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1662">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1662">1662</a></td>
@@ -9845,7 +9845,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1672">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1672">1672</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Layout compatibility with multiple empty bases</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9929,7 +9929,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1686">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1686">1686</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Which variables are &#8220;explicitly declared <TT>const</TT>?&#8221;</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9977,7 +9977,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1694">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1694">1694</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Restriction on reference to temporary as a constant expression</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9989,7 +9989,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1696">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1696">1696</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Temporary lifetime and non-static data member initializers</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10043,7 +10043,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1705">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1705">1705</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Unclear specification of &#8220;more specialized&#8221;</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10061,7 +10061,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1708">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1708">1708</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>overly-strict requirements for names with C language linkage</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10073,7 +10073,7 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="1710">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1710">1710</a></td>
- <td>review</td>
+ <td>drafting</td>
<td>Missing <TT>template</TT> keyword in <I>class-or-decltype</I></td>
<td align="center">Not resolved</td>
</tr>
@@ -10085,7 +10085,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1712">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1712">1712</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>constexpr</TT> variable template declarations</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10101,11 +10101,11 @@ and <I>POD class</I></td>
<td>odr-use of <TT>this</TT> from a local class</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1715">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1715">1715</a></td>
- <td>drafting</td>
+ <tr id="1715">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1715">1715</a></td>
+ <td>DR</td>
<td>Access and inherited constructor templates</td>
- <td align="center">Not resolved</td>
+ <td class="svn" align="center">SVN</td>
</tr>
<tr id="1716">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1716">1716</a></td>
@@ -10127,7 +10127,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1719">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1719">1719</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Layout compatibility and cv-qualification revisited</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10143,11 +10143,11 @@ and <I>POD class</I></td>
<td>Diagnosing ODR violations for static data members</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1722">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1722">1722</a></td>
- <td>drafting</td>
+ <tr id="1722">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1722">1722</a></td>
+ <td>DR</td>
<td>Should lambda to function pointer conversion function be <TT>noexcept</TT>?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1723">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1723">1723</a></td>
@@ -10215,11 +10215,11 @@ and <I>POD class</I></td>
<td>Return type and value for <TT>operator=</TT> with <I>ref-qualifier</I></td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1734">
+ <tr id="1734">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1734">1734</a></td>
- <td>drafting</td>
+ <td>ready</td>
<td>Nontrivial deleted copy functions</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1735">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1735">1735</a></td>
@@ -10227,11 +10227,11 @@ and <I>POD class</I></td>
<td>Out-of-range literals in <I>user-defined-literal</I>s</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1736">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1736">1736</a></td>
- <td>drafting</td>
+ <tr id="1736">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1736">1736</a></td>
+ <td>DR</td>
<td>Inheriting constructor templates in a local class</td>
- <td align="center">Not resolved</td>
+ <td class="svn" align="center">SVN</td>
</tr>
<tr id="1737">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1737">1737</a></td>
@@ -10269,15 +10269,15 @@ and <I>POD class</I></td>
<td><I>using-declaration</I>s and scoped enumerators</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1743">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1743">1743</a></td>
- <td>open</td>
+ <tr id="1743">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1743">1743</a></td>
+ <td>NAD</td>
<td><I>init-capture</I>s in nested lambdas</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1744">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1744">1744</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Unordered initialization for variable template specializations</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10301,7 +10301,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1748">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1748">1748</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Placement new with a null pointer</td>
<td class="full" align="center">Clang 3.7</td>
</tr>
@@ -10313,25 +10313,25 @@ and <I>POD class</I></td>
</tr>
<tr id="1750">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1750">1750</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>&#8220;Argument&#8221; vs &#8220;parameter&#8221;</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1751">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1751">1751</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Non-trivial operations vs non-trivial initialization</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1752">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1752">1752</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Right-recursion in <I>mem-initializer-list</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1753">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1753">1753</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><I>decltype-specifier</I> in <I>nested-name-specifier</I> of destructor</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10349,21 +10349,21 @@ and <I>POD class</I></td>
</tr>
<tr id="1756">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1756">1756</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Direct-list-initialization of a non-class object</td>
- <td class="full" align="center">Clang 3.7 (C++11 onwards)</td>
+ <td class="full" align="center">Clang 3.7</td>
</tr>
<tr id="1757">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1757">1757</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Const integral subobjects</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1758">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1758">1758</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Explicit conversion in copy/move list initialization</td>
- <td class="full" align="center">Clang 3.7 (C++11 onwards)</td>
+ <td class="full" align="center">Clang 3.7</td>
</tr>
<tr id="1759">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1759">1759</a></td>
@@ -10409,7 +10409,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1766">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1766">1766</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Values outside the range of the values of an enumeration</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10457,7 +10457,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1774">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1774">1774</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Discrepancy between subobject destruction and stack unwinding</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10475,7 +10475,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1777">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1777">1777</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Empty pack expansion in <I>dynamic-exception-specification</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10487,13 +10487,13 @@ and <I>POD class</I></td>
</tr>
<tr id="1779">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1779">1779</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Type dependency of <TT>__func__</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1780">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1780">1780</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Explicit instantiation/specialization of generic lambda <TT>operator()</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10505,7 +10505,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1782">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1782">1782</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Form of initialization for <TT>nullptr_t</TT> to <TT>bool</TT> conversion</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10541,7 +10541,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1788">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1788">1788</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Sized deallocation of array of non-class type</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10559,7 +10559,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1791">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1791">1791</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Incorrect restrictions on <I>cv-qualifier-seq</I> and <I>ref-qualifier</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10571,7 +10571,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1793">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1793">1793</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>thread_local</TT> in explicit specializations</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10583,19 +10583,19 @@ and <I>POD class</I></td>
</tr>
<tr id="1795">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1795">1795</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Disambiguating <I>original-namespace-definition</I> and <I>extension-namespace-definition</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1796">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1796">1796</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Is all-bits-zero for null characters a meaningful requirement?</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1797">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1797">1797</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Are all bit patterns of <TT>unsigned char</TT> distinct numbers?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10607,13 +10607,13 @@ and <I>POD class</I></td>
</tr>
<tr id="1799">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1799">1799</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>mutable</TT> and non-explicit const qualification</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1800">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1800">1800</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Pointer to member of nested anonymous union</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10625,7 +10625,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1802">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1802">1802</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>char16_t</TT> string literals and surrogate pairs</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10637,25 +10637,25 @@ and <I>POD class</I></td>
</tr>
<tr id="1804">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1804">1804</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Partial specialization and friendship</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1805">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1805">1805</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Conversions of array operands in <I>conditional-expression</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1806">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1806">1806</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Virtual bases and move-assignment</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1807">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1807">1807</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Order of destruction of array elements after an exception</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10667,19 +10667,19 @@ and <I>POD class</I></td>
</tr>
<tr id="1809">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1809">1809</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Narrowing and template argument deduction</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1810">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1810">1810</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Invalid <I>ud-suffix</I>es</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1811">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1811">1811</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Lookup of deallocation function in a virtual destructor definition</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10691,25 +10691,25 @@ and <I>POD class</I></td>
</tr>
<tr id="1813">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1813">1813</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Direct vs indirect bases in standard-layout classes</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1814">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1814">1814</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Default arguments in <I>lambda-expression</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1815">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1815">1815</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Lifetime extension in aggregate initialization</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1816">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1816">1816</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Unclear specification of bit-field values</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10727,7 +10727,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1819">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1819">1819</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Acceptable scopes for definition of partial specialization</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10751,13 +10751,13 @@ and <I>POD class</I></td>
</tr>
<tr id="1823">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1823">1823</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>String literal uniqueness in inline functions</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1824">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1824">1824</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Completeness of return type vs point of instantiation</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10767,11 +10767,11 @@ and <I>POD class</I></td>
<td>Partial ordering between variadic and non-variadic function templates</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1826">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1826">1826</a></td>
- <td>open</td>
+ <tr id="1826">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1826">1826</a></td>
+ <td>NAD</td>
<td><TT>const</TT> floating-point in constant expressions</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1827">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1827">1827</a></td>
@@ -10793,7 +10793,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1830">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1830">1830</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Repeated specifiers</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10805,7 +10805,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1832">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1832">1832</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Casting to incomplete enumeration</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10817,7 +10817,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1834">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1834">1834</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Constant initialization binding a reference to an xvalue</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10841,7 +10841,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1838">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1838">1838</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Definition via <I>unqualified-id</I> and <I>using-declaration</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10871,7 +10871,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1843">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1843">1843</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Bit-field in conditional operator with <TT>throw</TT> operand</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10889,19 +10889,19 @@ and <I>POD class</I></td>
</tr>
<tr id="1846">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1846">1846</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Declaring explicitly-defaulted implicitly-deleted functions</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1847">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1847">1847</a></td>
- <td>drafting</td>
+ <tr id="1847">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1847">1847</a></td>
+ <td>DR</td>
<td>Clarifying compatibility during partial ordering</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1848">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1848">1848</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Parenthesized constructor and destructor declarators</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10913,19 +10913,19 @@ and <I>POD class</I></td>
</tr>
<tr id="1850">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1850">1850</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Differences between definition context and point of instantiation</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1851">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1851">1851</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>decltype(auto)</TT> in <I>new-expression</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1852">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1852">1852</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Wording issues regarding <TT>decltype(auto)</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10961,7 +10961,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1858">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1858">1858</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Comparing pointers to union members</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10989,11 +10989,11 @@ and <I>POD class</I></td>
<td>Determining &#8220;corresponding members&#8221; for friendship</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1863">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1863">1863</a></td>
- <td>drafting</td>
+ <tr id="1863">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1863">1863</a></td>
+ <td>DR</td>
<td>Requirements on thrown object type to support <TT>std::current_exception()</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1864">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1864">1864</a></td>
@@ -11003,13 +11003,13 @@ and <I>POD class</I></td>
</tr>
<tr id="1865">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1865">1865</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Pointer arithmetic and multi-level qualification conversions</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1866">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1866">1866</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Initializing variant members with non-trivial destructors</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11033,7 +11033,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1870">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1870">1870</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Contradictory wording about definitions vs explicit specialization/instantiation</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11043,27 +11043,27 @@ and <I>POD class</I></td>
<td>Non-identifier characters in <I>ud-suffix</I></td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1872">
+ <tr id="1872">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1872">1872</a></td>
- <td>drafting</td>
+ <td>tentatively ready</td>
<td>Instantiations of <TT>constexpr</TT> templates that cannot appear in constant expressions</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1873">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1873">1873</a></td>
- <td>ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1873">1873</a></td>
+ <td>DRWP</td>
<td>Protected member access from derived class friends</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1874">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1874">1874</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Type vs non-type template parameters with <TT>class</TT> keyword</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1875">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1875">1875</a></td>
- <td>ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1875">1875</a></td>
+ <td>DRWP</td>
<td>Reordering declarations in class scope</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11075,13 +11075,13 @@ and <I>POD class</I></td>
</tr>
<tr id="1877">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1877">1877</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Return type deduction from <TT>return</TT> with no operand</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1878">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1878">1878</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>operator auto</TT> template</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11099,13 +11099,13 @@ and <I>POD class</I></td>
</tr>
<tr id="1881">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1881">1881</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Standard-layout classes and unnamed bit-fields</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1882">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1882">1882</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Reserved names without library use</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11123,25 +11123,25 @@ and <I>POD class</I></td>
</tr>
<tr id="1885">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1885">1885</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Return value of a function is underspecified</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1886">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1886">1886</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1886">1886</a></td>
+ <td>DRWP</td>
<td>Language linkage for <TT>main()</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1887">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1887">1887</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Problems with <TT>::</TT> as <I>nested-name-specifier</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1888">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1888">1888</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1888">1888</a></td>
+ <td>DRWP</td>
<td>Implicitly-declared default constructors and <TT>explicit</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11159,13 +11159,13 @@ and <I>POD class</I></td>
</tr>
<tr id="1891">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1891">1891</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Move constructor/assignment for closure class</td>
<td class="full" align="center">Clang 3.6</td>
</tr>
<tr id="1892">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1892">1892</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Use of <TT>auto</TT> in function type</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11181,11 +11181,11 @@ and <I>POD class</I></td>
<td><I>typedef-name</I>s and <I>using-declaration</I>s</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1895">
+ <tr id="1895">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1895">1895</a></td>
- <td>drafting</td>
+ <td>ready</td>
<td>Deleted conversions in conditional operator operands</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1896">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1896">1896</a></td>
@@ -11206,8 +11206,8 @@ and <I>POD class</I></td>
<td align="center">Not resolved</td>
</tr>
<tr id="1899">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1899">1899</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1899">1899</a></td>
+ <td>DRWP</td>
<td>Value-dependent constant expressions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11225,15 +11225,15 @@ and <I>POD class</I></td>
</tr>
<tr id="1902">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1902">1902</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>What makes a conversion &#8220;otherwise ill-formed&#8221;?</td>
<td class="full" align="center">Clang 3.7</td>
</tr>
- <tr class="open" id="1903">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1903">1903</a></td>
- <td>open</td>
+ <tr id="1903">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1903">1903</a></td>
+ <td>DR</td>
<td>What declarations are introduced by a non-member <I>using-declaration</I>?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1904">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1904">1904</a></td>
@@ -11267,7 +11267,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1909">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1909">1909</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td>Member class template with the same name as the class</td>
<td class="full" align="center">Yes</td>
</tr>
@@ -11279,7 +11279,7 @@ and <I>POD class</I></td>
</tr>
<tr id="1911">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1911">1911</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>constexpr</TT> constructor with non-literal base class</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11308,8 +11308,8 @@ and <I>POD class</I></td>
<td align="center">Not resolved</td>
</tr>
<tr id="1916">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1916">1916</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1916">1916</a></td>
+ <td>DRWP</td>
<td>&#8220;Same cv-unqualified type&#8221;</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11332,8 +11332,8 @@ and <I>POD class</I></td>
<td align="center">Not resolved</td>
</tr>
<tr id="1920">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1920">1920</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1920">1920</a></td>
+ <td>DRWP</td>
<td>Qualification mismatch in <I>pseudo-destructor-name</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11344,8 +11344,8 @@ and <I>POD class</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1922">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1922">1922</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1922">1922</a></td>
+ <td>DRWP</td>
<td>Injected class template names and default arguments</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11362,14 +11362,14 @@ and <I>POD class</I></td>
<td align="center">Not resolved</td>
</tr>
<tr id="1925">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1925">1925</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1925">1925</a></td>
+ <td>DRWP</td>
<td>Bit-field prvalues</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1926">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1926">1926</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1926">1926</a></td>
+ <td>DRWP</td>
<td>Potential results of subscript operator</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11379,23 +11379,23 @@ and <I>POD class</I></td>
<td>Lifetime of temporaries in <I>init-capture</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1928">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1928">1928</a></td>
- <td>open</td>
+ <tr id="1928">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1928">1928</a></td>
+ <td>NAD</td>
<td>Triviality of deleted special member functions</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1929">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1929">1929</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1929">1929</a></td>
+ <td>DRWP</td>
<td><TT>template</TT> keyword following namespace <I>nested-name-specifier</I></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1930">
+ <tr id="1930">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1930">1930</a></td>
- <td>review</td>
+ <td>ready</td>
<td><I>init-declarator-list</I> vs <I>member-declarator-list</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1931">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1931">1931</a></td>
@@ -11403,11 +11403,11 @@ and <I>POD class</I></td>
<td>Default-constructible and copy-assignable closure types</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1932">
+ <tr id="1932">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1932">1932</a></td>
- <td>drafting</td>
+ <td>ready</td>
<td>Bit-field results of conditional operators</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1933">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1933">1933</a></td>
@@ -11453,19 +11453,19 @@ and <I>POD class</I></td>
</tr>
<tr id="1940">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1940">1940</a></td>
- <td>DR</td>
+ <td>DRWP</td>
<td><TT>static_assert</TT> in anonymous unions</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="1941">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1941">1941</a></td>
- <td>drafting</td>
+ <tr id="1941">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1941">1941</a></td>
+ <td>DR</td>
<td>SFINAE and inherited constructor default arguments</td>
- <td align="center">Not resolved</td>
+ <td class="svn" align="center">SVN</td>
</tr>
<tr id="1942">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1942">1942</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1942">1942</a></td>
+ <td>DRWP</td>
<td>Incorrect reference to <I>trailing-return-type</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11487,11 +11487,11 @@ and <I>POD class</I></td>
<td>Friend declarations naming members of class templates in non-templates</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1946">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1946">1946</a></td>
- <td>open</td>
+ <tr id="1946">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1946">1946</a></td>
+ <td>accepted</td>
<td><I>exception-specification</I>s vs pointer dereference</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1947">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1947">1947</a></td>
@@ -11505,11 +11505,11 @@ and <I>POD class</I></td>
<td><I>exception-specification</I> of replacement global <TT>new</TT></td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="1949">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1949">1949</a></td>
- <td>drafting</td>
+ <tr id="1949">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1949">1949</a></td>
+ <td>DR</td>
<td>&#8220;sequenced after&#8221; instead of &#8220;sequenced before&#8221;</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1950">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1950">1950</a></td>
@@ -11518,14 +11518,14 @@ and <I>POD class</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1951">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1951">1951</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1951">1951</a></td>
+ <td>DRWP</td>
<td>Cv-qualification and literal types</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1952">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1952">1952</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1952">1952</a></td>
+ <td>DRWP</td>
<td>Constant expressions and library undefined behavior</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11541,15 +11541,15 @@ and <I>POD class</I></td>
<td><TT>typeid</TT> null dereference check in subexpressions</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1955">
+ <tr id="1955">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1955">1955</a></td>
- <td>review</td>
+ <td>ready</td>
<td><TT>#elif</TT> with invalid controlling expression</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1956">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1956">1956</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1956">1956</a></td>
+ <td>DRWP</td>
<td>Reuse of storage of automatic variables</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11560,16 +11560,16 @@ and <I>POD class</I></td>
<td align="center">Not resolved</td>
</tr>
<tr id="1958">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1958">1958</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1958">1958</a></td>
+ <td>DRWP</td>
<td><TT>decltype(auto)</TT> with parenthesized initializer</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1959">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1959">1959</a></td>
- <td>drafting</td>
+ <tr id="1959">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1959">1959</a></td>
+ <td>DR</td>
<td>Inadvertently inherited copy constructor</td>
- <td align="center">Not resolved</td>
+ <td class="svn" align="center">SVN</td>
</tr>
<tr id="1960">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1960">1960</a></td>
@@ -11579,19 +11579,19 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="1961">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1961">1961</a></td>
- <td>concurrency</td>
+ <td>review</td>
<td>Potentially-concurrent actions within a signal handler</td>
<td align="center">Not resolved</td>
</tr>
<tr class="open" id="1962">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1962">1962</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Type of <TT>__func__</TT></td>
<td align="center">Not resolved</td>
</tr>
<tr id="1963">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1963">1963</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1963">1963</a></td>
+ <td>DRWP</td>
<td>Implementation-defined identifier characters</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11603,19 +11603,19 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="1965">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1965">1965</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Explicit casts to reference types</td>
<td align="center">Not resolved</td>
</tr>
<tr id="1966">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1966">1966</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1966">1966</a></td>
+ <td>DRWP</td>
<td>Colon following enumeration <I>elaborated-type-specifier</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1967">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1967">1967</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1967">1967</a></td>
+ <td>DRWP</td>
<td>Temporary lifetime and move-elision</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11638,8 +11638,8 @@ and <I>POD class</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1971">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1971">1971</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1971">1971</a></td>
+ <td>DRWP</td>
<td>Unclear disambiguation of destructor and <TT>operator~</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11661,11 +11661,11 @@ and <I>POD class</I></td>
<td>Redundant specification of non-type <I>typename-specifier</I></td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1975">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1975">1975</a></td>
- <td>drafting</td>
+ <tr id="1975">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1975">1975</a></td>
+ <td>DR</td>
<td>Permissible declarations for <I>exception-specification</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1976">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1976">1976</a></td>
@@ -11680,14 +11680,14 @@ and <I>POD class</I></td>
<td align="center">Not resolved</td>
</tr>
<tr id="1978">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1978">1978</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1978">1978</a></td>
+ <td>DRWP</td>
<td>Redundant description of explicit constructor use</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1979">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1979">1979</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Alias template specialization in template member definition</td>
<td align="center">Not resolved</td>
</tr>
@@ -11697,11 +11697,11 @@ and <I>POD class</I></td>
<td>Equivalent but not functionally-equivalent redeclarations</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1981">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1981">1981</a></td>
- <td>drafting</td>
+ <tr id="1981">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1981">1981</a></td>
+ <td>DR</td>
<td>Implicit contextual conversions and <TT>explicit</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1982">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1982">1982</a></td>
@@ -11727,11 +11727,11 @@ and <I>POD class</I></td>
<td>Unknown bound array member with <I>brace-or-equal-initializer</I></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr id="1986">
+ <tr class="open" id="1986">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1986">1986</a></td>
- <td>ready</td>
+ <td>drafting</td>
<td>odr-use and delayed initialization</td>
- <td class="none" align="center">Unknown</td>
+ <td align="center">Not resolved</td>
</tr>
<tr id="1987">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1987">1987</a></td>
@@ -11740,8 +11740,8 @@ and <I>POD class</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1988">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1988">1988</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1988">1988</a></td>
+ <td>DRWP</td>
<td>Ambiguity between dependent and non-dependent bases in implicit member access</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11751,23 +11751,23 @@ and <I>POD class</I></td>
<td>Insufficient restrictions on parameters of postfix operators</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1990">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1990">1990</a></td>
- <td>drafting</td>
+ <tr id="1990">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1990">1990</a></td>
+ <td>DR</td>
<td>Ambiguity due to optional <I>decl-specifier-seq</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1991">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1991">1991</a></td>
- <td>open</td>
+ <tr id="1991">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1991">1991</a></td>
+ <td>DR</td>
<td>Inheriting constructors vs default arguments</td>
- <td align="center">Not resolved</td>
+ <td class="svn" align="center">SVN</td>
</tr>
- <tr class="open" id="1992">
+ <tr id="1992">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1992">1992</a></td>
- <td>drafting</td>
+ <td>tentatively ready</td>
<td><TT>new (std::nothrow) int[N]</TT> can throw</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1993">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1993">1993</a></td>
@@ -11781,15 +11781,15 @@ and <I>POD class</I></td>
<td>Confusing wording regarding multiple <TT>template&lt;&gt;</TT> prefixes</td>
<td class="none" align="center">Duplicate of <a href="#529">529</a></td>
</tr>
- <tr class="open" id="1995">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1995">1995</a></td>
- <td>open</td>
+ <tr id="1995">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1995">1995</a></td>
+ <td>accepted</td>
<td><I>exception-specification</I>s and non-type template parameters</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1996">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1996">1996</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Reference list-initialization ignores conversion functions</td>
<td align="center">Not resolved</td>
</tr>
@@ -11806,22 +11806,22 @@ and <I>POD class</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1999">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1999">1999</a></td>
- <td>tentatively ready</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1999">1999</a></td>
+ <td>DRWP</td>
<td>Representation of source characters as universal-character-names</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2000">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2000">2000</a></td>
- <td>drafting</td>
+ <tr id="2000">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2000">2000</a></td>
+ <td>DR</td>
<td><I>header-name</I> outside <TT>#include</TT> directive</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2001">
+ <tr id="2001">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2001">2001</a></td>
- <td>drafting</td>
+ <td>ready</td>
<td><I>non-directive</I> is underspecified</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2002">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2002">2002</a></td>
@@ -11835,11 +11835,11 @@ and <I>POD class</I></td>
<td>Zero-argument macros incorrectly specified</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2004">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2004">2004</a></td>
- <td>drafting</td>
+ <tr id="2004">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2004">2004</a></td>
+ <td>DR</td>
<td>Unions with mutable members in constant expressions</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2005">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2005">2005</a></td>
@@ -11847,11 +11847,11 @@ and <I>POD class</I></td>
<td>Incorrect <TT>constexpr</TT> reference initialization requirements</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2006">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2006">2006</a></td>
- <td>drafting</td>
+ <tr id="2006">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2006">2006</a></td>
+ <td>DR</td>
<td>Cv-qualified <TT>void</TT> types</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2007">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2007">2007</a></td>
@@ -11859,11 +11859,11 @@ and <I>POD class</I></td>
<td>Argument-dependent lookup for <TT>operator=</TT></td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2008">
+ <tr id="2008">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2008">2008</a></td>
- <td>review</td>
+ <td>ready</td>
<td>Default <I>template-argument</I>s underspecified</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2009">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2009">2009</a></td>
@@ -11871,11 +11871,11 @@ and <I>POD class</I></td>
<td>Unclear specification of class scope</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2010">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2010">2010</a></td>
- <td>open</td>
+ <tr id="2010">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2010">2010</a></td>
+ <td>accepted</td>
<td><I>exception-specification</I>s and conversion operators</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2011">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2011">2011</a></td>
@@ -11883,11 +11883,11 @@ and <I>POD class</I></td>
<td>Unclear effect of reference capture of reference</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2012">
+ <tr id="2012">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2012">2012</a></td>
- <td>open</td>
+ <td>tentatively ready</td>
<td>Lifetime of references</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2013">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2013">2013</a></td>
@@ -11901,35 +11901,35 @@ and <I>POD class</I></td>
<td>Unneeded deallocation signatures</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2015">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2015">2015</a></td>
- <td>drafting</td>
+ <tr id="2015">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2015">2015</a></td>
+ <td>DR</td>
<td>odr-use of deleted virtual functions</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2016">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2016">2016</a></td>
- <td>drafting</td>
+ <tr id="2016">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2016">2016</a></td>
+ <td>DR</td>
<td>Confusing wording in description of conversion function</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2017">
+ <tr id="2017">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2017">2017</a></td>
- <td>drafting</td>
+ <td>ready</td>
<td>Flowing off end is not equivalent to no-expression return</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2018">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2018">2018</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Qualification conversion vs reference binding</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2019">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2019">2019</a></td>
- <td>drafting</td>
+ <tr id="2019">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2019">2019</a></td>
+ <td>DR</td>
<td>Member references omitted from description of storage duration</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2020">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2020">2020</a></td>
@@ -11951,33 +11951,33 @@ and <I>POD class</I></td>
</tr>
<tr class="open" id="2023">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2023">2023</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Composite reference result type of conditional operator</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2024">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2024">2024</a></td>
- <td>open</td>
+ <tr id="2024">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2024">2024</a></td>
+ <td>DR</td>
<td>Dependent types and unexpanded parameter packs</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2025">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2025">2025</a></td>
- <td>open</td>
+ <tr id="2025">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2025">2025</a></td>
+ <td>dup</td>
<td>Declaration matching via alias templates</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2026">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2026">2026</a></td>
- <td>drafting</td>
+ <tr id="2026">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2026">2026</a></td>
+ <td>DR</td>
<td>Zero-initialization and <TT>constexpr</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2027">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2027">2027</a></td>
- <td>drafting</td>
+ <tr id="2027">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2027">2027</a></td>
+ <td>DR</td>
<td>Unclear requirements for multiple <TT>alignas</TT> specifiers</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2028">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2028">2028</a></td>
@@ -11997,36 +11997,942 @@ and <I>POD class</I></td>
<td>Access of injected-class-name with template arguments</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2031">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2031">2031</a></td>
- <td>drafting</td>
+ <tr id="2031">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2031">2031</a></td>
+ <td>DR</td>
<td>Missing incompatibility for <TT>&amp;&amp;</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2032">
+ <tr id="2032">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2032">2032</a></td>
- <td>open</td>
+ <td>tentatively ready</td>
<td>Default <I>template-argument</I>s of variable templates</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2033">
+ <tr id="2033">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2033">2033</a></td>
- <td>open</td>
+ <td>tentatively ready</td>
<td>Redundant restriction on partial specialization argument</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2034">
- <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2034">2034</a></td>
- <td>open</td>
+ <tr id="2034">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2034">2034</a></td>
+ <td>NAD</td>
<td>Deprecating <TT>uncaught_exception()</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2035">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2035">2035</a></td>
- <td>open</td>
+ <td>review</td>
<td>Multi-section example is confusing</td>
<td align="center">Not resolved</td>
</tr>
+ <tr id="2036">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2036">2036</a></td>
+ <td>NAD</td>
+ <td>Refactoring <I>parameters-and-qualifiers</I></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2037">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2037">2037</a></td>
+ <td>drafting</td>
+ <td>Alias templates and template declaration matching</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2038">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2038">2038</a></td>
+ <td>tentatively ready</td>
+ <td>Document C++14 incompatibility of new braced deduction rule</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2039">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2039">2039</a></td>
+ <td>tentatively ready</td>
+ <td>Constant conversions to <TT>bool</TT></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2040">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2040">2040</a></td>
+ <td>tentatively ready</td>
+ <td><I>trailing-return-type</I> no longer ambiguous</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2041">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2041">2041</a></td>
+ <td>tentatively ready</td>
+ <td>Namespace for explicit class template specialization</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2042">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2042">2042</a></td>
+ <td>open</td>
+ <td>Exceptions and deallocation functions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2043">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2043">2043</a></td>
+ <td>drafting</td>
+ <td>Generalized template arguments and array-to-pointer decay</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2044">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2044">2044</a></td>
+ <td>tentatively ready</td>
+ <td><TT>decltype(auto)</TT> and <TT>void</TT></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2045">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2045">2045</a></td>
+ <td>drafting</td>
+ <td>&#8220;Identical&#8221; template parameter lists</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2046">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2046">2046</a></td>
+ <td>concurrency</td>
+ <td>Incomplete thread specifications</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2047">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2047">2047</a></td>
+ <td>tentatively ready</td>
+ <td>Coordinating &#8220;throws anything&#8221; specifications</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2048">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2048">2048</a></td>
+ <td>open</td>
+ <td>C-style casts that cast away constness vs <TT>static_cast</TT></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2049">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2049">2049</a></td>
+ <td>drafting</td>
+ <td>List initializer in non-type template default argument</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2050">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2050">2050</a></td>
+ <td>NAD</td>
+ <td>Consolidate specification of linkage</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2051">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2051">2051</a></td>
+ <td>drafting</td>
+ <td>Simplifying alias rules</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2052">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2052">2052</a></td>
+ <td>DR</td>
+ <td>Template argument deduction vs overloaded operators</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2053">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2053">2053</a></td>
+ <td>drafting</td>
+ <td><TT>auto</TT> in non-generic lambdas</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2054">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2054">2054</a></td>
+ <td>open</td>
+ <td>Missing description of class SFINAE</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2055">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2055">2055</a></td>
+ <td>open</td>
+ <td>Explicitly-specified non-deduced parameter packs</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2056">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2056">2056</a></td>
+ <td>drafting</td>
+ <td>Member function calls in partially-initialized class objects</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2057">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2057">2057</a></td>
+ <td>open</td>
+ <td>Template template arguments with default arguments</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2058">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2058">2058</a></td>
+ <td>drafting</td>
+ <td>More errors from internal-linkage namespaces</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2059">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2059">2059</a></td>
+ <td>open</td>
+ <td>Linkage and deduced return types</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2060">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2060">2060</a></td>
+ <td>NAD</td>
+ <td>Deduced return type for explicit specialization</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2061">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2061">2061</a></td>
+ <td>tentatively ready</td>
+ <td>Inline namespace after simplifications</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2062">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2062">2062</a></td>
+ <td>drafting</td>
+ <td>Class template redeclaration requirements</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2063">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2063">2063</a></td>
+ <td>tentatively ready</td>
+ <td>Type/nontype hiding in class scope</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2064">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2064">2064</a></td>
+ <td>tentatively ready</td>
+ <td>Conflicting specifications for dependent <I>decltype-specifier</I>s</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2065">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2065">2065</a></td>
+ <td>drafting</td>
+ <td>Current instantiation of a partial specialization</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2066">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2066">2066</a></td>
+ <td>tentatively ready</td>
+ <td>Does type-dependent imply value-dependent?</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2067">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2067">2067</a></td>
+ <td>open</td>
+ <td>Generated variadic templates requiring empty pack</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2068">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2068">2068</a></td>
+ <td>tentatively ready</td>
+ <td>When can/must a defaulted virtual destructor be defined?</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2069">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2069">2069</a></td>
+ <td>tentatively ready</td>
+ <td>Do destructors have names?</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2070">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2070">2070</a></td>
+ <td>drafting</td>
+ <td><I>using-declaration</I> with dependent <I>nested-name-specifier</I></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2071">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2071">2071</a></td>
+ <td>tentatively ready</td>
+ <td><TT>typedef</TT> with no declarator</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2072">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2072">2072</a></td>
+ <td>drafting</td>
+ <td>Default argument instantiation for member functions of templates</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2073">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2073">2073</a></td>
+ <td>open</td>
+ <td>Allocating memory for exception objects</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2074">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2074">2074</a></td>
+ <td>drafting</td>
+ <td>Type-dependence of local class of function template</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2075">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2075">2075</a></td>
+ <td>DR</td>
+ <td>Passing short initializer lists to array reference parameters</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2076">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2076">2076</a></td>
+ <td>open</td>
+ <td>List-initialization of arguments for constructor parameters</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2077">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2077">2077</a></td>
+ <td>open</td>
+ <td>Overload resolution and invalid rvalue-reference initialization</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2078">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2078">2078</a></td>
+ <td>NAD</td>
+ <td>Name lookup of <I>mem-initilizer-id</I></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2079">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2079">2079</a></td>
+ <td>tentatively ready</td>
+ <td><TT>[[</TT> appearing in a <I>balanced-token-seq</I></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2080">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2080">2080</a></td>
+ <td>drafting</td>
+ <td>Example with empty anonymous union member</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2081">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2081">2081</a></td>
+ <td>drafting</td>
+ <td>Deduced return type in redeclaration or specialization of function template</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2082">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2082">2082</a></td>
+ <td>ready</td>
+ <td>Referring to parameters in unevaluated operands of default arguments</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2083">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2083">2083</a></td>
+ <td>open</td>
+ <td>Incorrect cases of odr-use</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2084">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2084">2084</a></td>
+ <td>ready</td>
+ <td>NSDMIs and deleted union default constructors</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2085">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2085">2085</a></td>
+ <td>tentatively ready</td>
+ <td>Invalid example of adding special member function via default argument</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2086">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2086">2086</a></td>
+ <td>drafting</td>
+ <td>Reference odr-use vs implicit capture</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2087">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2087">2087</a></td>
+ <td>open</td>
+ <td>Left shift of negative value by zero bits</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2088">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2088">2088</a></td>
+ <td>open</td>
+ <td>Late tiebreakers in partial ordering</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2089">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2089">2089</a></td>
+ <td>drafting</td>
+ <td>Restricting selection of builtin overloaded operators</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2090">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2090">2090</a></td>
+ <td>drafting</td>
+ <td>Dependency via non-dependent base class</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2091">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2091">2091</a></td>
+ <td>open</td>
+ <td>Deducing reference non-type template arguments</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2092">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2092">2092</a></td>
+ <td>open</td>
+ <td>Deduction failure and overload resolution</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2093">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2093">2093</a></td>
+ <td>ready</td>
+ <td>Qualification conversion for pointer-to-member handler matching</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2094">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2094">2094</a></td>
+ <td>open</td>
+ <td>Trivial copy/move constructor for class with volatile member</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2095">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2095">2095</a></td>
+ <td>tentatively ready</td>
+ <td>Capturing rvalue references to functions by copy</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2096">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2096">2096</a></td>
+ <td>tentatively ready</td>
+ <td>Constraints on literal unions</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2097">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2097">2097</a></td>
+ <td>extension</td>
+ <td>Lambdas and <TT>noreturn</TT> attribute</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2098">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2098">2098</a></td>
+ <td>tentatively ready</td>
+ <td>Is <TT>uncaught_exceptions()</TT> per-thread?</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2099">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2099">2099</a></td>
+ <td>ready</td>
+ <td>Inferring the bound of an array static data member</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2100">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2100">2100</a></td>
+ <td>open</td>
+ <td>Value-dependent address of static data member of class template</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2101">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2101">2101</a></td>
+ <td>DR</td>
+ <td>Incorrect description of type- and value-dependence</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2102">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2102">2102</a></td>
+ <td>drafting</td>
+ <td>Constructor checking in <I>new-expression</I></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2103">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2103">2103</a></td>
+ <td>drafting</td>
+ <td>Lvalue-to-rvalue conversion is irrelevant in odr-use of a reference</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2104">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2104">2104</a></td>
+ <td>tentatively ready</td>
+ <td>Internal-linkage <TT>constexpr</TT> references and ODR requirements</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2105">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2105">2105</a></td>
+ <td>open</td>
+ <td>When do the arguments for a parameter pack end?</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2106">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2106">2106</a></td>
+ <td>tentatively ready</td>
+ <td>Unclear restrictions on use of function-type template arguments</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2107">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2107">2107</a></td>
+ <td>tentatively ready</td>
+ <td>Lifetime of temporaries for default arguments in array copying</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2108">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2108">2108</a></td>
+ <td>open</td>
+ <td>Conversions to non-class prvalues in reference initialization</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2109">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2109">2109</a></td>
+ <td>tentatively ready</td>
+ <td>Value dependence underspecified</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2110">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2110">2110</a></td>
+ <td>drafting</td>
+ <td>Overload resolution for base class conversion and reference/non-reference</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2111">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2111">2111</a></td>
+ <td>open</td>
+ <td>Array temporaries in reference binding</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2112">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2112">2112</a></td>
+ <td>drafting</td>
+ <td><TT>new auto{x}</TT></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2113">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2113">2113</a></td>
+ <td>tentatively ready</td>
+ <td>Incompete specification of types for declarators</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2114">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2114">2114</a></td>
+ <td>review</td>
+ <td>Missing description of incompatibility from aggregate NSDMIs</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2115">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2115">2115</a></td>
+ <td>open</td>
+ <td>Order of implicit destruction vs release of automatic storage</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2116">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2116">2116</a></td>
+ <td>drafting</td>
+ <td>Direct or copy initialization for omitted aggregate initializers</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2117">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2117">2117</a></td>
+ <td>drafting</td>
+ <td>Explicit specializations and <TT>constexpr</TT> function templates</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2118">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2118">2118</a></td>
+ <td>open</td>
+ <td>Stateful metaprogramming via friend injection</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2119">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2119">2119</a></td>
+ <td>NAD</td>
+ <td>Disambiguation of multi-level covariant return type</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2120">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2120">2120</a></td>
+ <td>DR</td>
+ <td>Array as first non-static data member in standard-layout class</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2121">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2121">2121</a></td>
+ <td>drafting</td>
+ <td>More flexible lambda syntax</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2122">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2122">2122</a></td>
+ <td>tentatively ready</td>
+ <td>Glvalues of <TT>void</TT> type</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2123">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2123">2123</a></td>
+ <td>open</td>
+ <td>Omitted constant initialization of local static variables</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2124">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2124">2124</a></td>
+ <td>ready</td>
+ <td>Signature of constructor template</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2125">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2125">2125</a></td>
+ <td>extension</td>
+ <td>Copy elision and comma operator</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2126">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2126">2126</a></td>
+ <td>drafting</td>
+ <td>Lifetime-extended temporaries in constant expressions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2127">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2127">2127</a></td>
+ <td>drafting</td>
+ <td>Partial specialization and nullptr</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2128">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2128">2128</a></td>
+ <td>drafting</td>
+ <td>Imprecise rule for reference member initializer</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2129">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2129">2129</a></td>
+ <td>tentatively ready</td>
+ <td>Non-object prvalues and constant expressions</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2130">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2130">2130</a></td>
+ <td>ready</td>
+ <td>Over-aligned types in <I>new-expression</I>s</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2131">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2131">2131</a></td>
+ <td>drafting</td>
+ <td>Ambiguity with <I>opaque-enum-declaration</I></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2132">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2132">2132</a></td>
+ <td>extension</td>
+ <td>Deprecated default generated copy constructors</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2133">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2133">2133</a></td>
+ <td>open</td>
+ <td>Converting <TT>std::nullptr_t</TT> to <TT>bool</TT></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2134">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2134">2134</a></td>
+ <td>NAD</td>
+ <td>Objectless references to non-static member functions</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2135">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2135">2135</a></td>
+ <td>NAD</td>
+ <td><I>mem-initializer</I>s for virtual bases of abstract classes</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2136">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2136">2136</a></td>
+ <td>NAD</td>
+ <td>Argument-dependent lookup and initializer lists</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2137">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2137">2137</a></td>
+ <td>drafting</td>
+ <td>List-initialization from object of same type</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2138">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2138">2138</a></td>
+ <td>open</td>
+ <td>Explicit member specialization vs implicit instantiation</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2139">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2139">2139</a></td>
+ <td>NAD</td>
+ <td>Floating-point requirements for integer representation</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2140">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2140">2140</a></td>
+ <td>tentatively ready</td>
+ <td>Lvalue-to-rvalue conversion of <TT>std::nullptr_t</TT></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2141">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2141">2141</a></td>
+ <td>tentatively ready</td>
+ <td>Ambiguity in <I>new-expression</I> with <I>elaborated-type-specifier</I></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2142">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2142">2142</a></td>
+ <td>NAD</td>
+ <td>Missing definition of associated classes and namespaces</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2143">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2143">2143</a></td>
+ <td>tentatively ready</td>
+ <td>Value-dependency via injected-class-name</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2144">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2144">2144</a></td>
+ <td>drafting</td>
+ <td>Function/variable declaration ambiguity</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2145">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2145">2145</a></td>
+ <td>drafting</td>
+ <td>Parenthesized declarator in function definition</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2146">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2146">2146</a></td>
+ <td>tentatively ready</td>
+ <td>Scalar object vs memory location in definition of &#8220;unsequenced&#8221;</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2147">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2147">2147</a></td>
+ <td>tentatively ready</td>
+ <td>Initializer-list arguments and pack deduction</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2148">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2148">2148</a></td>
+ <td>drafting</td>
+ <td>Thread storage duration and order of initialization</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2149">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2149">2149</a></td>
+ <td>drafting</td>
+ <td>Brace elision and array length deduction</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2150">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2150">2150</a></td>
+ <td>review</td>
+ <td>Initializer list array lifetime</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2151">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2151">2151</a></td>
+ <td>drafting</td>
+ <td>Exception object is not created</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2152">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2152">2152</a></td>
+ <td>NAD</td>
+ <td>Can an alternative token be used as a <I>ud-suffix</I>?</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2153">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2153">2153</a></td>
+ <td>tentatively ready</td>
+ <td><I>pure-specifier</I> in friend declaration</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2154">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2154">2154</a></td>
+ <td>tentatively ready</td>
+ <td>Ambiguity of <I>pure-specifier</I></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2155">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2155">2155</a></td>
+ <td>review</td>
+ <td>Defining classes and enumerations via <I>using-declaration</I>s</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2156">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2156">2156</a></td>
+ <td>tentatively ready</td>
+ <td>Definition of enumeration declared by <I>using-declaration</I></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2157">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2157">2157</a></td>
+ <td>ready</td>
+ <td>Further disambiguation of enumeration <I>elaborated-type-specifier</I></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2158">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2158">2158</a></td>
+ <td>drafting</td>
+ <td>Polymorphic behavior during destruction</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2159">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2159">2159</a></td>
+ <td>concurrency</td>
+ <td>Lambda capture and local <TT>thread_local</TT> variables</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2160">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2160">2160</a></td>
+ <td>open</td>
+ <td>Issues with partial ordering</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2161">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#2161">2161</a></td>
+ <td>NAD</td>
+ <td>Explicit instantiation declaration and &#8220;preceding initialization&#8221;</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2162">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2162">2162</a></td>
+ <td>tentatively ready</td>
+ <td>Capturing <TT>this</TT> by reference</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2163">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2163">2163</a></td>
+ <td>tentatively ready</td>
+ <td>Labels in <TT>constexpr</TT> functions</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2164">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2164">2164</a></td>
+ <td>drafting</td>
+ <td>Name hiding and <I>using-directive</I>s</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2165">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2165">2165</a></td>
+ <td>drafting</td>
+ <td>Namespaces, declarative regions, and translation units</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2166">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2166">2166</a></td>
+ <td>drafting</td>
+ <td>Unclear meaning of &#8220;undefined <TT>constexpr</TT> function&#8221;</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2167">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2167">2167</a></td>
+ <td>tentatively ready</td>
+ <td>Non-member references with lifetimes within the current evaluation</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2168">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2168">2168</a></td>
+ <td>open</td>
+ <td>Narrowing conversions and +/- infinity</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2169">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2169">2169</a></td>
+ <td>open</td>
+ <td>Narrowing conversions and overload resolution</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2170">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2170">2170</a></td>
+ <td>drafting</td>
+ <td>Unclear definition of odr-use for arrays</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2171">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2171">2171</a></td>
+ <td>drafting</td>
+ <td>Triviality of copy constructor with less-qualified parameter</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2172">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2172">2172</a></td>
+ <td>drafting</td>
+ <td>Multiple exceptions with one exception object</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2173">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2173">2173</a></td>
+ <td>open</td>
+ <td>Partial specialization with non-deduced contexts</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2174">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2174">2174</a></td>
+ <td>review</td>
+ <td>Unclear rules for friend definitions in templates</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2175">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2175">2175</a></td>
+ <td>tentatively ready</td>
+ <td>Ambiguity with attribute in conversion operator declaration</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2176">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2176">2176</a></td>
+ <td>tentatively ready</td>
+ <td>Destroying the returned object when a destructor throws</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2177">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2177">2177</a></td>
+ <td>drafting</td>
+ <td>Placement <TT>operator delete</TT> and parameter copies</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2178">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2178">2178</a></td>
+ <td>open</td>
+ <td>Substitution of dependent template arguments in default template arguments</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2179">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2179">2179</a></td>
+ <td>open</td>
+ <td>Required diagnostic for partial specialization after first use</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2180">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2180">2180</a></td>
+ <td>tentatively ready</td>
+ <td>Virtual bases in destructors and defaulted assignment operators</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2181">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2181">2181</a></td>
+ <td>open</td>
+ <td>Normative requirements in an informative Annex</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2182">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2182">2182</a></td>
+ <td>open</td>
+ <td>Pointer arithmetic in array-like containers</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2183">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2183">2183</a></td>
+ <td>open</td>
+ <td>Problems in description of potential exceptions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2184">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2184">2184</a></td>
+ <td>open</td>
+ <td>Missing C compatibility entry for decrement of <TT>bool</TT></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2185">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2185">2185</a></td>
+ <td>open</td>
+ <td>Cv-qualified numeric types</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2186">
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2186">2186</a></td>
+ <td>open</td>
+ <td>Unclear point that &#8220;preceding initialization&#8221; must precede</td>
+ <td align="center">Not resolved</td>
+ </tr>
</table>
</div>
diff --git a/www/cxx_status.html b/www/cxx_status.html
index efcf82fd844a..70becc7dbf6b 100644
--- a/www/cxx_status.html
+++ b/www/cxx_status.html
@@ -14,6 +14,7 @@
.na { background-color: #DDDDDD }
span:target { background-color: #FFFFBB; outline: #DDDD55 solid thin; }
th { background-color: #FFDDAA }
+ td { vertical-align: middle }
</style>
</head>
<body>
@@ -25,7 +26,7 @@
<!--*************************************************************************-->
<h1>C++ Support in Clang</h1>
<!--*************************************************************************-->
-<p>Last updated: $Date: 2015-11-26 03:23:21 +0100 (Thu, 26 Nov 2015) $</p>
+<p>Last updated: $Date: 2016-07-14 02:14:59 +0200 (Thu, 14 Jul 2016) $</p>
<p>Clang fully implements all published ISO C++ standards including <a
href="#cxx11">C++11</a>, as well as the upcoming <a
@@ -67,8 +68,7 @@ patches are needed to make <a href="libstdc++4.4-clang0x.patch">libstdc++-4.4</a
work with Clang in C++11 mode. Patches are also needed to make
<a href="libstdc++4.6-clang11.patch">libstdc++-4.6</a>
and <a href="libstdc++4.7-clang11.patch">libstdc++-4.7</a> work with Clang
-releases prior to version 3.2 in C++11 mode. <tt>thread_local</tt> support
-currently requires the C++ runtime library from g++-4.8 or later.</p>
+releases prior to version 3.2 in C++11 mode.
<table width="689" border="1" cellspacing="0">
<tr>
@@ -373,7 +373,7 @@ currently requires the C++ runtime library from g++-4.8 or later.</p>
<tr>
<td>Thread-local storage</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm">N2659</a></td>
- <td class="full" align="center">Clang 3.3</td>
+ <td class="full" align="center">Clang 3.3 <a href="#n2659">(5)</a></td>
</tr>
<tr>
<td>Dynamic initialization and destruction with concurrency</td>
@@ -402,7 +402,7 @@ currently requires the C++ runtime library from g++-4.8 or later.</p>
<tr>
<td>Extended integral types</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf">N1988</a></td>
- <td class="na" align="center">N/A <a href="#n1988">(5)</a></td>
+ <td class="na" align="center">N/A <a href="#n1988">(6)</a></td>
</tr>
</table>
@@ -415,7 +415,11 @@ such as Clang that does not provide garbage collection.</span><br>
strong compare-exchanges.</span><br>
<span id="n2664">(4): <code>memory_order_consume</code> is lowered to
<code>memory_order_acquire</code>.</span><br>
-<span id="n1988">(5): No compiler changes are required for an implementation
+<span id="n2659">(5): <code>thread_local</code> support
+requires a C++ runtime library providing <code>__cxa_thread_atexit</code>, such
+as <a href="http://libcxxabi.llvm.org">libc++abi</a> 3.6 or later,
+or libsupc++ 4.8 or later.</span><br>
+<span id="n1988">(6): No compiler changes are required for an implementation
such as Clang that does not provide any extended integer types.
<code>__int128</code> is not treated as an extended integer type,
because changing <code>intmax_t</code> would be an ABI-incompatible
@@ -501,12 +505,12 @@ Clang version in which each feature became available.</p>
<tr>
<td>C++ Sized Deallocation</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3778.html">N3778</a></td>
- <td class="full" align="center">Clang 3.4 <a href="#n3778">(6)</a></td>
+ <td class="full" align="center">Clang 3.4 <a href="#n3778">(7)</a></td>
</tr>
</table>
<p>
-<span id="n3778">(6): In Clang 3.7 and later, sized deallocation is only enabled
+<span id="n3778">(7): In Clang 3.7 and later, sized deallocation is only enabled
if the user passes the <code>-fsized-deallocation</code> flag. The user must
supply definitions of the sized deallocation functions, either by providing them
explicitly or by using a C++ standard library that does. <code>libstdc++</code>
@@ -517,9 +521,9 @@ version 3.7.
<h2 id="cxx17">C++1z implementation status</h2>
-<p>Clang has <b>highly experimental</b> support for some proposed features of
-the C++ standard following C++14,
-provisionally named C++1z. The following table describes which C++1z features
+<p>Clang has <b>experimental</b> support for some proposed features of
+the C++ standard following C++14, provisionally named C++1z.
+The following table describes which C++1z features
have been implemented in Clang and in which Clang version they became
available.</p>
@@ -564,14 +568,18 @@ as the draft C++1z standard evolves.</p>
<tr>
<td>New <tt>auto</tt> rules for direct-list-initialization
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html">N3922</a></td>
- <td class="svn" align="center">Clang 3.8 <a href="#n3922">(7)</a></td>
+ <td class="full" align="center">Clang 3.8 <a href="#n3922">(8)</a></td>
</tr>
<!-- Urbana papers -->
<tr>
- <td>Fold expressions</td>
+ <td rowspan="2">Fold expressions</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4295.html">N4295</a></td>
<td class="full" align="center">Clang 3.6</td>
</tr>
+ <tr> <!-- from Jacksonville -->
+ <td><a href="http://wg21.link/p0036r0">P0036R0</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
<tr>
<td><tt>u8</tt> character literals</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4267.html">N4267</a></td>
@@ -596,12 +604,12 @@ as the draft C++1z standard evolves.</p>
<tr>
<td>Remove deprecated <tt>register</tt> storage class</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0001r1.html">P0001R1</a></td>
- <td class="svn" align="center">Clang 3.8</td>
+ <td class="full" align="center">Clang 3.8</td>
</tr>
<tr>
<td>Remove deprecated <tt>bool</tt> increment</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0002r1.html">P0002R1</a></td>
- <td class="svn" align="center">Clang 3.8</td>
+ <td class="full" align="center">Clang 3.8</td>
</tr>
<tr>
<td>Make exception specifications part of the type system</td>
@@ -613,13 +621,126 @@ as the draft C++1z standard evolves.</p>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0061.html">P0061R1</a></td>
<td class="full" align="center">Yes</td>
</tr>
+ <tr>
+ <td>New specification for inheriting constructors (<a href="cxx_dr_status.html#1941">DR1941</a> et al)</td>
+ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html">P0136R1</a></td>
+ <td class="svn" align="center">SVN <a href="#p0136">(9)</a></td>
+ </tr>
+ <!-- Jacksonville papers -->
+ <tr>
+ <td><tt>[[fallthrough]]</tt> attribute</td>
+ <td><a href="http://wg21.link/p0188r1">P0188R1</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td><tt>[[nodiscard]]</tt> attribute</td>
+ <td><a href="http://wg21.link/p0189r1">P0189R1</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td><tt>[[maybe_unused]]</tt> attribute</td>
+ <td><a href="http://wg21.link/p0212r1">P0212R1</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td>Aggregate initialization of classes with base classes</td>
+ <td><a href="http://wg21.link/p0017r1">P0017R1</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td><tt>constexpr</tt> lambda expressions</td>
+ <td><a href="http://wg21.link/p0170r1">P0170R1</a></td>
+ <td class="none" align="center">No</td>
+ </tr>
+ <tr>
+ <td>Differing <tt>begin</tt> and <tt>end</tt> types in range-based <tt>for</tt></td>
+ <td><a href="http://wg21.link/p0184r0">P0184R0</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td>Lambda capture of <tt>*this</tt></td>
+ <td><a href="http://wg21.link/p0018r3">P0018R3</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td>Direct-list-initialization of <tt>enum</tt>s</td>
+ <td><a href="http://wg21.link/p0138r2">P0138R2</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td>Hexadecimal floating-point literals</td>
+ <td><a href="http://wg21.link/p0245r1">P0245R1</a></td>
+ <td class="full" align="center">Yes</td>
+ </tr>
+ <!-- Oulu papers -->
+ <tr>
+ <td>Using attribute namespaces without repetition</td>
+ <td><a href="http://wg21.link/p0028r4">P0028R4</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td>Dynamic memory allocation for over-aligned data</td>
+ <td><a href="http://wg21.link/p0035r4">P0035R4</a></td>
+ <td class="none" align="center">No</td>
+ </tr>
+ <tr>
+ <td>Template argument deduction for class templates</td>
+ <td><a href="http://wg21.link/p0091r3">P0091R3</a></td>
+ <td class="none" align="center">No</td>
+ </tr>
+ <tr>
+ <td>Non-type template parameters with <tt>auto</tt> type</td>
+ <td><a href="http://wg21.link/p0127r2">P0127R2</a></td>
+ <td class="none" align="center">No</td>
+ </tr>
+ <tr>
+ <td>Guaranteed copy elision</td>
+ <td><a href="http://wg21.link/p0135r1">P0135R1</a></td>
+ <td class="none" align="center">No</td>
+ </tr>
+ <tr>
+ <td rowspan=2>Stricter expression evaluation order</td>
+ <td><a href="http://wg21.link/p0145r3">P0145R3</a></td>
+ <td class="none" align="center" rowspan=2>No</td>
+ </tr>
+ <tr>
+ <td><a href="http://wg21.link/p0400r0">P0400R0</a></td>
+ </tr>
+ <tr>
+ <td>Requirement to ignore unknown attributes</td>
+ <td><a href="http://wg21.link/p0283r2">P0283R2</a></td>
+ <td class="full" align="center">Yes</td>
+ </tr>
+ <tr>
+ <td><tt>constexpr</tt> <em>if-statement</em>s</td>
+ <td><a href="http://wg21.link/p0292r2">P0292R2</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td>Inline variables</td>
+ <td><a href="http://wg21.link/p0386r2">P0386R2</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
+ <tr>
+ <td>Structured bindings</td>
+ <td><a href="http://wg21.link/p0217r3">P0217R3</a></td>
+ <td class="none" align="center">No</td>
+ </tr>
+ <tr>
+ <td>Separate variable and condition for <tt>if</tt> and <tt>switch</tt></td>
+ <td><a href="http://wg21.link/p0305r1">P0305R1</a></td>
+ <td class="svn" align="center">SVN</td>
+ </tr>
</table>
<p>
-<span id="n3922">(7): This is a backwards-incompatible change that is applied to
+<span id="n3922">(8): This is a backwards-incompatible change that is applied to
all language versions that allow type deduction from <tt>auto</tt>
(per the request of the C++ committee).
In Clang 3.7, a warning is emitted for all cases that would change meaning.
+</span><br>
+<span id="p0136">(9): This is the resolution to a Defect Report, so is applied
+to all language versions supporting inheriting constructors.
</span>
</p>
@@ -678,6 +799,11 @@ Clang version they became available:</p>
<td class="none" align="center">No</td>
</tr>
<tr>
+ <td>[TS] Modules</td>
+ <td><a href="http://wg21.link/p0143r2">P0143R2</a></td>
+ <td class="none" align="center">No</td>
+ </tr>
+ <tr>
<td>[TS] Transactional Memory</td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4514.pdf">N4514</a></td>
<td class="none" align="center">No</td>
diff --git a/www/get_started.html b/www/get_started.html
index 541c45a9146f..0039b5603013 100644
--- a/www/get_started.html
+++ b/www/get_started.html
@@ -47,20 +47,20 @@ follows:</p>
http://www.cmake.org/download</a></li>
</ul>
- <li>Checkout LLVM:
+ <li>Check out LLVM:
<ul>
<li>Change directory to where you want the llvm directory placed.</li>
<li><tt>svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</tt></li>
</ul>
</li>
- <li>Checkout Clang:
+ <li>Check out Clang:
<ul>
<li><tt>cd llvm/tools</tt></li>
<li><tt>svn co http://llvm.org/svn/llvm-project/cfe/trunk clang</tt></li>
<li><tt>cd ../..</tt></li>
</ul>
</li>
- <li>Checkout extra Clang Tools: (optional)
+ <li>Check out extra Clang tools: (optional)
<ul>
<li><tt>cd llvm/tools/clang/tools</tt></li>
<li><tt>svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk
@@ -68,7 +68,7 @@ follows:</p>
<li><tt>cd ../../../..</tt></li>
</ul>
</li>
- <li>Checkout Compiler-RT:
+ <li>Check out Compiler-RT (optional):
<ul>
<li><tt>cd llvm/projects</tt></li>
<li><tt>svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk
@@ -76,7 +76,7 @@ follows:</p>
<li><tt>cd ../..</tt></li>
</ul>
</li>
- <li>Checkout libcxx: (only required to build and run Compiler-RT tests on OS X, optional otherwise)
+ <li>Check out libcxx: (only required to build and run Compiler-RT tests on OS X, optional otherwise)
<ul>
<li><tt>cd llvm/projects</tt></li>
<li><tt>svn co http://llvm.org/svn/llvm-project/libcxx/trunk
@@ -98,9 +98,6 @@ follows:</p>
KDevelop3. For more details see
<a href="http://llvm.org/docs/CMake.html">Building LLVM with CMake</a>
page.</li>
- <li>You can also build Clang with
- <a href="http://llvm.org/docs/BuildingLLVMWithAutotools.html">
- autotools</a>, but some features may be unavailable there.</li>
</ul>
</li>
@@ -112,7 +109,7 @@ follows:</p>
scenarios, you can use the <tt>-DGCC_INSTALL_PREFIX</tt> cmake option
to tell Clang where the gcc containing the desired libstdc++ is installed.
</li>
- <li>Try it out (assuming you add llvm/Debug+Asserts/bin to your path):
+ <li>Try it out (assuming you add llvm/build/bin to your path):
<ul>
<li><tt>clang --help</tt></li>
<li><tt>clang file.c -fsyntax-only</tt> (check for correctness)</li>
@@ -123,17 +120,17 @@ follows:</p>
</li>
</ol>
-<p>Note that the C front-end uses LLVM, but does not depend on llvm-gcc. If you
-encounter problems with building Clang, make sure you have the latest SVN
-version of LLVM. LLVM contains support libraries for Clang that will be updated
-as well as development on Clang progresses.</p>
-
+<p>If you encounter problems while building Clang, make sure that your LLVM
+checkout is at the same revision as your Clang checkout. LLVM's interfaces
+change over time, and mismatched revisions are not expected to work
+together.</p>
+
<h3>Simultaneously Building Clang and LLVM:</h3>
<p>Once you have checked out Clang into the llvm source tree it will build along
with the rest of <tt>llvm</tt>. To build all of LLVM and Clang together all at
once simply run <tt>make</tt> from the root LLVM directory.</p>
-
+
<p><em>Note:</em> Observe that Clang is technically part of a separate
Subversion repository. As mentioned above, the latest Clang sources are tied to
the latest sources in the LLVM tree. You can update your toplevel LLVM project
@@ -172,16 +169,19 @@ Visual Studio:</p>
</ul>
</li>
- <li>Checkout LLVM:
+ <li>Check out LLVM:
<ul>
<li><tt>svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</tt></li>
</ul>
</li>
- <li>Checkout Clang:
+ <li>Check out Clang:
<ul>
<li><tt>cd llvm\tools</tt>
<li><tt>svn co http://llvm.org/svn/llvm-project/cfe/trunk clang</tt></li>
</ul>
+ <p><em>Note</em>: Some Clang tests are sensitive to the line endings. Ensure
+ that checking out the files does not convert LF line endings to CR+LF.
+ If you use git-svn, make sure your <tt>core.autocrlf</tt> setting is false.</p>
</li>
<li>Run CMake to generate the Visual Studio solution and project files:
<ul>
diff --git a/www/hacking.html b/www/hacking.html
index 4535ef4a137e..65d182dfecaa 100644
--- a/www/hacking.html
+++ b/www/hacking.html
@@ -98,14 +98,16 @@
<!--=====================================================================-->
<p>The files
- <a href="http://llvm.org/svn/llvm-project/llvm/trunk/utils/llvm.natvis">
- <tt>utils/llvm.natvis</tt></a> and
- <a href="http://llvm.org/svn/llvm-project/cfe/trunk/utils/clang.natvis">
- <tt>utils/clang.natvis</tt></a> provide debugger visualizers
+ <a href="http://llvm.org/svn/llvm-project/llvm/trunk/utils/LLVMVisualizers/llvm.natvis">
+ <tt>utils/LLVMVisualizers/llvm.natvis</tt></a> and
+ <a href="http://llvm.org/svn/llvm-project/cfe/trunk/utils/ClangVisualizers/clang.natvis">
+ <tt>utils/ClangVisualizers/clang.natvis</tt></a> provide debugger visualizers
that make debugging of more complex data types much easier.</p>
- <p>Put the files into
- <tt>%USERPROFILE%\Documents\Visual Studio 2012\Visualizers</tt> or
+ <p>For Visual Studio 2013 only, put the files into
+ <tt>%USERPROFILE%\Documents\Visual Studio 2013\Visualizers</tt> or
create a symbolic link so they update automatically.</p>
+ <p>For later versions of Visual Studio, no installation is required.
+ Note also that later versions of Visual Studio also display better visualizations.</p>
<!--=====================================================================-->
<h2 id="testing">Testing</h2>
diff --git a/www/index.html b/www/index.html
index 2d3ca8f5aacb..62354fe60c86 100644
--- a/www/index.html
+++ b/www/index.html
@@ -93,7 +93,7 @@
be a production quality C, Objective-C, C++ and Objective-C++ compiler when
targeting X86-32, X86-64, and ARM (other targets may have caveats, but are
usually easy to fix). If you are looking for source analysis or
- source-to-source transformation tools, clang is probably a great
+ source-to-source transformation tools, Clang is probably a great
solution for you. Clang supports C++11, please see the <a
href="cxx_status.html">C++ status</a> page for more
information.</p>
@@ -104,14 +104,14 @@
<p>Start by <a href="get_started.html">getting the code, building it, and
playing with it</a>. This will show you the sorts of things we can do
- today and will let you have the "clang experience" first hand: hopefully
+ today and will let you have the "Clang experience" first hand: hopefully
it will "resonate" with you. :)</p>
<p>Once you've done that, please consider <a href="get_involved.html">getting
- involved in the clang community</a>. The clang developers include numerous
+ involved in the clang community</a>. The Clang developers include numerous
volunteer contributors with a variety of backgrounds. If you're
interested in
- following the development of clang, signing up for a mailing list is a good
+ following the development of Clang, signing up for a mailing list is a good
way to learn about how the project works.</p>
</div>
</body>