[clang] 8dd42ff - Write test for CWG1772/CWG1762/CWG1779, mark them 'done', and update
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 24 10:10:43 PDT 2021
Author: Erich Keane
Date: 2021-09-24T10:10:38-07:00
New Revision: 8dd42ffc09e30b1bf936f5da1aa104916e50d2fa
URL: https://github.com/llvm/llvm-project/commit/8dd42ffc09e30b1bf936f5da1aa104916e50d2fa
DIFF: https://github.com/llvm/llvm-project/commit/8dd42ffc09e30b1bf936f5da1aa104916e50d2fa.diff
LOG: Write test for CWG1772/CWG1762/CWG1779, mark them 'done', and update
cxx_dr_status.html
I noticed that these two DRs are currently working correctly, so I
added a pair of lit tests that check the AST (which is most useful for
CWG1779, since 'dependent' is really only observable in an ast dump) to
make sure __func__ works correctly in dependent cases, and in lambda
operator().
Also noticed that CWG1762, mostly an 'example' change, works correctly,
so added a test so that it gets marked 'done' as well.
Additionally, I regenerated cxx_dr_status.html, updating it for Clang
13's release, based on the cwg_status.html from August 12, 2021.
Differential Revision: https://reviews.llvm.org/D109956
Added:
clang/test/CXX/drs/dr177x.cpp
Modified:
clang/test/CXX/drs/dr17xx.cpp
clang/www/cxx_dr_status.html
clang/www/make_cxx_dr_status
Removed:
################################################################################
diff --git a/clang/test/CXX/drs/dr177x.cpp b/clang/test/CXX/drs/dr177x.cpp
new file mode 100644
index 0000000000000..0ac4deac6a8de
--- /dev/null
+++ b/clang/test/CXX/drs/dr177x.cpp
@@ -0,0 +1,78 @@
+// RUN: %clang_cc1 -std=c++98 %s -fexceptions -fcxx-exceptions -pedantic-errors -ast-dump | FileCheck %s
+// RUN: %clang_cc1 -std=c++11 %s -fexceptions -fcxx-exceptions -pedantic-errors -ast-dump | FileCheck %s --check-prefixes=CHECK,CXX11
+// RUN: %clang_cc1 -std=c++14 %s -fexceptions -fcxx-exceptions -pedantic-errors -ast-dump | FileCheck %s --check-prefixes=CHECK,CXX11,CXX14
+// RUN: %clang_cc1 -std=c++1z %s -fexceptions -fcxx-exceptions -pedantic-errors -ast-dump | FileCheck %s --check-prefixes=CHECK,CXX11,CXX14
+
+namespace dr1772 { // dr1772: 14
+ // __func__ in a lambda should name operator(), not the containing function.
+ // CHECK: NamespaceDecl{{.+}}dr1772
+#if __cplusplus >= 201103L
+ auto x = []() { __func__; };
+ // CXX11: LambdaExpr
+ // CXX11: CXXRecordDecl
+ // CXX11: CXXMethodDecl{{.+}} operator() 'void () const'
+ // CXX11-NEXT: CompoundStmt
+ // CXX11-NEXT: PredefinedExpr{{.+}} 'const char [11]' lvalue __func__
+ // CXX11-NEXT: StringLiteral{{.+}} 'const char [11]' lvalue "operator()"
+
+ void func() {
+ // CXX11: FunctionDecl{{.+}} func
+ (void)[]() { __func__; };
+ // CXX11-NEXT: CompoundStmt
+ // CXX11: LambdaExpr
+ // CXX11: CXXRecordDecl
+ // CXX11: CXXMethodDecl{{.+}} operator() 'void () const'
+ // CXX11-NEXT: CompoundStmt
+ // CXX11-NEXT: PredefinedExpr{{.+}} 'const char [11]' lvalue __func__
+ // CXX11-NEXT: StringLiteral{{.+}} 'const char [11]' lvalue "operator()"
+ }
+#endif // __cplusplus >= 201103L
+}
+
+namespace dr1779 { // dr1779: 14
+ // __func__ in a function template, member function template, or generic
+ // lambda should have a dependent type.
+ // CHECK: NamespaceDecl{{.+}}dr1779
+
+ template<typename T>
+ void FuncTemplate() {
+ __func__;
+ // CHECK: FunctionDecl{{.+}} FuncTemplate
+ // CHECK-NEXT: CompoundStmt
+ // CHECK-NEXT: PredefinedExpr{{.+}} '<dependent type>' lvalue __func__
+ }
+
+ template<typename T>
+ class ClassTemplate {
+ // CHECK: ClassTemplateDecl{{.+}} ClassTemplate
+ void MemFunc() {
+ // CHECK: CXXMethodDecl{{.+}} MemFunc 'void ()'
+ // CHECK-NEXT: CompoundStmt
+ // CHECK-NEXT: PredefinedExpr{{.+}} '<dependent type>' lvalue __func__
+ __func__;
+ }
+ void OutOfLineMemFunc();
+ };
+
+ template <typename T> void ClassTemplate<T>::OutOfLineMemFunc() {
+ // CHECK: CXXMethodDecl{{.+}}parent{{.+}} OutOfLineMemFunc 'void ()'
+ // CHECK-NEXT: CompoundStmt
+ // CHECK-NEXT: PredefinedExpr{{.+}} '<dependent type>' lvalue __func__
+ __func__;
+ }
+
+#if __cplusplus >= 201402L
+ void contains_generic_lambda() {
+ // CXX14: FunctionDecl{{.+}}contains_generic_lambda
+ // CXX14: LambdaExpr
+ // CXX14: CXXRecordDecl
+ // CXX14: CXXMethodDecl{{.+}} operator() 'auto (auto) const'
+ // CXX14-NEXT: ParmVarDecl
+ // CXX14-NEXT: CompoundStmt
+ // CXX14-NEXT: PredefinedExpr{{.+}} '<dependent type>' lvalue __func__
+ (void)[](auto x) {
+ __func__;
+ };
+ }
+#endif // __cplusplus >= 201402L
+}
diff --git a/clang/test/CXX/drs/dr17xx.cpp b/clang/test/CXX/drs/dr17xx.cpp
index c9f5b2df95a55..42303c83ae3c9 100644
--- a/clang/test/CXX/drs/dr17xx.cpp
+++ b/clang/test/CXX/drs/dr17xx.cpp
@@ -125,3 +125,12 @@ namespace dr1778 { // dr1778: 9
static_assert(noexcept(D()), "");
#endif
}
+
+namespace dr1762 { // dr1762: 14
+#if __cplusplus >= 201103L
+ float operator ""_E(const char *);
+ // expected-error at +2 {{invalid suffix on literal; c++11 requires a space between literal and identifier}}
+ // expected-warning at +1 {{user-defined literal suffixes not starting with '_' are reserved; no literal will invoke this operator}}
+ float operator ""E(const char *);
+#endif
+}
diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index da63e2eabeb72..510c0d59203dc 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -250,11 +250,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Definition of default-initialization</td>
<td class="full" align="center">Duplicate of <a href="#178">178</a></td>
</tr>
- <tr class="open" id="36">
+ <tr id="36">
<td><a href="https://wg21.link/cwg36">36</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td><I>using-declaration</I>s in multiple-declaration contexts</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="37">
<td><a href="https://wg21.link/cwg37">37</a></td>
@@ -694,11 +694,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Allowing <TT>::template</TT> in <I>using-declaration</I>s</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="110">
+ <tr id="110">
<td><a href="https://wg21.link/cwg110">110</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Can template functions and classes be declared in the same scope?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="111">
<td><a href="https://wg21.link/cwg111">111</a></td>
@@ -824,7 +824,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg131">131</a></td>
<td>TC1</td>
<td>Typo in Lao characters</td>
- <td class="na" align="center">Superseded by <a href="wg21.link/P1949">P1949</a></td>
+ <td class="na" align="center">Superseded by <a href="https://wg21.link/P1949">P1949</a></td>
</tr>
<tr id="132">
<td><a href="https://wg21.link/cwg132">132</a></td>
@@ -862,11 +862,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><TT>static_cast</TT> of <I>cv</I> <TT>void*</TT></td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="138">
+ <tr id="138">
<td><a href="https://wg21.link/cwg138">138</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Friend declaration name lookup</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="139">
<td><a href="https://wg21.link/cwg139">139</a></td>
@@ -970,11 +970,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Brace initializer for scalar</td>
<td class="full" align="center">Duplicate of <a href="#632">632</a></td>
</tr>
- <tr class="open" id="156">
+ <tr id="156">
<td><a href="https://wg21.link/cwg156">156</a></td>
- <td>drafting</td>
+ <td>NAD</td>
<td>Name lookup for conversion functions</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="157">
<td><a href="https://wg21.link/cwg157">157</a></td>
@@ -1180,17 +1180,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Layout-compatible POD-struct types</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="191">
+ <tr id="191">
<td><a href="https://wg21.link/cwg191">191</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Name lookup does not handle complex nesting</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="192">
+ <tr id="192">
<td><a href="https://wg21.link/cwg192">192</a></td>
- <td>drafting</td>
+ <td>NAD</td>
<td>Name lookup in parameters</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="193">
<td><a href="https://wg21.link/cwg193">193</a></td>
@@ -1527,7 +1527,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg248">248</a></td>
<td>C++11</td>
<td>Identifier characters</td>
- <td class="na" align="center">Superseded by <a href="wg21.link/P1949">P1949</a></td>
+ <td class="na" align="center">Superseded by <a href="https://wg21.link/P1949">P1949</a></td>
</tr>
<tr id="249">
<td><a href="https://wg21.link/cwg249">249</a></td>
@@ -1565,11 +1565,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Definitional problems with <I>elaborated-type-specifier</I>s</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="255">
+ <tr id="255">
<td><a href="https://wg21.link/cwg255">255</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Placement deallocation functions and lookup ambiguity</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="256">
<td><a href="https://wg21.link/cwg256">256</a></td>
@@ -1662,11 +1662,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Order of initialization of static data members of class templates</td>
<td class="na" align="center">N/A</td>
</tr>
- <tr class="open" id="271">
+ <tr id="271">
<td><a href="https://wg21.link/cwg271">271</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Explicit instantiation and template argument deduction</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="272">
<td><a href="https://wg21.link/cwg272">272</a></td>
@@ -1704,17 +1704,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Zero-initialization of pointers</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="278">
+ <tr id="278">
<td><a href="https://wg21.link/cwg278">278</a></td>
- <td>open</td>
+ <td>NAD</td>
<td>External linkage and nameless entities</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="279">
+ <tr id="279">
<td><a href="https://wg21.link/cwg279">279</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Correspondence of "names for linkage purposes"</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="280">
<td><a href="https://wg21.link/cwg280">280</a></td>
@@ -1818,11 +1818,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Can conversion functions be static?</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="297">
+ <tr id="297">
<td><a href="https://wg21.link/cwg297">297</a></td>
- <td>open</td>
+ <td>NAD</td>
<td>Which template does an explicit specialization specialize?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="298">
<td><a href="https://wg21.link/cwg298">298</a></td>
@@ -2064,11 +2064,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Attempt to create array of abtract type should cause deduction to fail</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="338">
+ <tr id="338">
<td><a href="https://wg21.link/cwg338">338</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Enumerator name with linkage used as class name in other translation unit</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="339">
<td><a href="https://wg21.link/cwg339">339</a></td>
@@ -2196,11 +2196,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Type definition in anonymous union</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="360">
+ <tr id="360">
<td><a href="https://wg21.link/cwg360">360</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Using-declaration that reduces access</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="361">
<td><a href="https://wg21.link/cwg361">361</a></td>
@@ -2352,11 +2352,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>How does protected member check of 11.5 interact with using-declarations?</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="386">
+ <tr id="386">
<td><a href="https://wg21.link/cwg386">386</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Friend declaration of name brought in by <I>using-declaration</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="387">
<td><a href="https://wg21.link/cwg387">387</a></td>
@@ -2430,11 +2430,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Ambiguous wording on naming a type in deduction</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="399">
+ <tr id="399">
<td><a href="https://wg21.link/cwg399">399</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Destructor lookup redux</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="400">
<td><a href="https://wg21.link/cwg400">400</a></td>
@@ -2466,11 +2466,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Unclear reference to construction with non-trivial constructor</td>
<td class="na" align="center">N/A</td>
</tr>
- <tr class="open" id="405">
+ <tr id="405">
<td><a href="https://wg21.link/cwg405">405</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Unqualified function name lookup</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="406">
<td><a href="https://wg21.link/cwg406">406</a></td>
@@ -2502,11 +2502,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Paragraph missed in changes for issue 166</td>
<td class="none" align="center">No</td>
</tr>
- <tr class="open" id="411">
+ <tr id="411">
<td><a href="https://wg21.link/cwg411">411</a></td>
- <td>open</td>
+ <td>WP</td>
<td>Use of universal-character-name in character versus string literals</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="412">
<td><a href="https://wg21.link/cwg412">412</a></td>
@@ -2544,11 +2544,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Using derived-class qualified name in out-of-class nested class definition</td>
<td class="none" align="center">No</td>
</tr>
- <tr class="open" id="418">
+ <tr id="418">
<td><a href="https://wg21.link/cwg418">418</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Imperfect wording on error on multiple default arguments on a called function</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="419">
<td><a href="https://wg21.link/cwg419">419</a></td>
@@ -3252,11 +3252,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Copy construction without a copy constructor</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="536">
+ <tr id="536">
<td><a href="https://wg21.link/cwg536">536</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Problems in the description of <I>id-expression</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="537">
<td><a href="https://wg21.link/cwg537">537</a></td>
@@ -3362,17 +3362,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Problems with friend allocation and deallocation functions</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="554">
+ <tr id="554">
<td><a href="https://wg21.link/cwg554">554</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Definition of “declarative region” and “scope”</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="555">
+ <tr id="555">
<td><a href="https://wg21.link/cwg555">555</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td>Pseudo-destructor name lookup</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="556">
<td><a href="https://wg21.link/cwg556">556</a></td>
@@ -3398,11 +3398,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Editing error in issue 382 resolution</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="560">
+ <tr id="560">
<td><a href="https://wg21.link/cwg560">560</a></td>
- <td>drafting</td>
+ <td>NAD</td>
<td>Use of the <TT>typename</TT> keyword in return types</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="561">
<td><a href="https://wg21.link/cwg561">561</a></td>
@@ -3410,17 +3410,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Internal linkage functions in dependent name lookup</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="562">
+ <tr id="562">
<td><a href="https://wg21.link/cwg562">562</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td><I>qualified-id</I>s in non-expression contexts</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="563">
+ <tr id="563">
<td><a href="https://wg21.link/cwg563">563</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Linkage specification for objects</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="564">
<td><a href="https://wg21.link/cwg564">564</a></td>
@@ -3526,7 +3526,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="581">
<td><a href="https://wg21.link/cwg581">581</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Can a templated constructor be explicitly instantiated or specialized?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -3638,11 +3638,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Deleting a null function pointer</td>
<td class="partial" align="center">Partial</td>
</tr>
- <tr class="open" id="600">
+ <tr id="600">
<td><a href="https://wg21.link/cwg600">600</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Does access control apply to members or to names?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="601">
<td><a href="https://wg21.link/cwg601">601</a></td>
@@ -3680,11 +3680,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Template argument deduction for rvalue references</td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="607">
+ <tr id="607">
<td><a href="https://wg21.link/cwg607">607</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Lookup of <I>mem-initializer-id</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="608">
<td><a href="https://wg21.link/cwg608">608</a></td>
@@ -3740,11 +3740,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Definition of “indeterminate value”</td>
<td class="full" align="center">Clang 4</td>
</tr>
- <tr class="open" id="617">
+ <tr id="617">
<td><a href="https://wg21.link/cwg617">617</a></td>
- <td>drafting</td>
+ <td>NAD</td>
<td>Lvalue-to-rvalue conversions of uninitialized <TT>char</TT> objects</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="618">
<td><a href="https://wg21.link/cwg618">618</a></td>
@@ -4020,7 +4020,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg663">663</a></td>
<td>CD1</td>
<td>Valid Cyrillic identifier characters</td>
- <td class="na" align="center">Superseded by <a href="wg21.link/P1949">P1949</a></td>
+ <td class="na" align="center">Superseded by <a href="https://wg21.link/P1949">P1949</a></td>
</tr>
<tr id="664">
<td><a href="https://wg21.link/cwg664">664</a></td>
@@ -4058,11 +4058,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Confusing specification of the meaning of <TT>decltype</TT></td>
<td class="full" align="center">Yes</td>
</tr>
- <tr class="open" id="670">
+ <tr id="670">
<td><a href="https://wg21.link/cwg670">670</a></td>
- <td>open</td>
+ <td>CD4</td>
<td>Copy initialization via derived-to-base conversion in the second step</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="671">
<td><a href="https://wg21.link/cwg671">671</a></td>
@@ -4132,7 +4132,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="682">
<td><a href="https://wg21.link/cwg682">682</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Missing description of lookup of template aliases</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -5036,11 +5036,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Restrictions on use of non-static data members</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="852">
+ <tr id="852">
<td><a href="https://wg21.link/cwg852">852</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td><I>using-declaration</I>s and dependent base classes</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="853">
<td><a href="https://wg21.link/cwg853">853</a></td>
@@ -5470,7 +5470,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="943">
<td><a href="https://wg21.link/cwg943">943</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Is <TT>T()</TT> a temporary?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -5522,11 +5522,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Problems with <I>attribute-specifier</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="952">
+ <tr id="952">
<td><a href="https://wg21.link/cwg952">952</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Insufficient description of “naming class”</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="953">
<td><a href="https://wg21.link/cwg953">953</a></td>
@@ -5978,11 +5978,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Type consistency and reallocation of scalar types</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1028">
+ <tr id="1028">
<td><a href="https://wg21.link/cwg1028">1028</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Dependent names in non-defining declarations</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1029">
<td><a href="https://wg21.link/cwg1029">1029</a></td>
@@ -6268,7 +6268,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1076">
<td><a href="https://wg21.link/cwg1076">1076</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Value categories and lvalue temporaries</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7010,11 +7010,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Deleted constexpr functions</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1200">
+ <tr id="1200">
<td><a href="https://wg21.link/cwg1200">1200</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Lookup rules for template parameters</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1201">
<td><a href="https://wg21.link/cwg1201">1201</a></td>
@@ -7190,11 +7190,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Overload resolution with empty <I>braced-init-list</I> argument</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1230">
+ <tr id="1230">
<td><a href="https://wg21.link/cwg1230">1230</a></td>
- <td>open</td>
+ <td>dup</td>
<td>Confusing description of ambiguity of destructor name</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1231">
<td><a href="https://wg21.link/cwg1231">1231</a></td>
@@ -7322,11 +7322,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>C compatibility: casting to unqualified <TT>void*</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1252">
+ <tr id="1252">
<td><a href="https://wg21.link/cwg1252">1252</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Overloading member function templates based on dependent return type</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1253">
<td><a href="https://wg21.link/cwg1253">1253</a></td>
@@ -7438,7 +7438,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1271">
<td><a href="https://wg21.link/cwg1271">1271</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Imprecise wording regarding dependent types</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7520,11 +7520,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Should the lifetime of an array be independent of that of its elements?</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1285">
+ <tr id="1285">
<td><a href="https://wg21.link/cwg1285">1285</a></td>
- <td>open</td>
+ <td>NAD</td>
<td>Trivial destructors and object lifetime</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1286">
<td><a href="https://wg21.link/cwg1286">1286</a></td>
@@ -7556,11 +7556,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Lifetime of the underlying array of an <TT>initializer_list</TT> member</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1291">
+ <tr id="1291">
<td><a href="https://wg21.link/cwg1291">1291</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Looking up a <I>conversion-type-id</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1292">
<td><a href="https://wg21.link/cwg1292">1292</a></td>
@@ -7606,7 +7606,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1299">
<td><a href="https://wg21.link/cwg1299">1299</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>“Temporary objects” vs “temporary expressions”</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -7796,17 +7796,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Delayed instantiation of <TT>noexcept</TT> specifiers</td>
<td class="full" align="center">Clang 4 (C++11 onwards)</td>
</tr>
- <tr class="open" id="1331">
+ <tr id="1331">
<td><a href="https://wg21.link/cwg1331">1331</a></td>
- <td>extension</td>
+ <td>CD5</td>
<td><TT>const</TT> mismatch with defaulted copy constructor</td>
- <td align="center">Extension</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1332">
+ <tr id="1332">
<td><a href="https://wg21.link/cwg1332">1332</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td>Handling of invalid universal-character-names</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1333">
<td><a href="https://wg21.link/cwg1333">1333</a></td>
@@ -8292,7 +8292,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg1413">1413</a></td>
<td>CD3</td>
<td>Missing cases of value-dependency</td>
- <td class="unreleased" align="center">Clang 12</td>
+ <td class="full" align="center">Clang 12</td>
</tr>
<tr class="open" id="1414">
<td><a href="https://wg21.link/cwg1414">1414</a></td>
@@ -8366,11 +8366,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Base-class subobjects of standard-layout structs</td>
<td class="na" align="center">N/A (ABI constraint)</td>
</tr>
- <tr class="open" id="1426">
+ <tr id="1426">
<td><a href="https://wg21.link/cwg1426">1426</a></td>
- <td>extension</td>
+ <td>CD5</td>
<td>Allowing additional parameter types in defaulted functions</td>
- <td align="center">Extension</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1427">
<td><a href="https://wg21.link/cwg1427">1427</a></td>
@@ -8516,17 +8516,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><TT>INT_MIN % -1</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1451">
+ <tr id="1451">
<td><a href="https://wg21.link/cwg1451">1451</a></td>
- <td>extension</td>
+ <td>CD4</td>
<td>Objects with no linkage in non-type template arguments</td>
- <td align="center">Extension</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1452">
+ <tr id="1452">
<td><a href="https://wg21.link/cwg1452">1452</a></td>
- <td>drafting</td>
+ <td>NAD</td>
<td>Value-initialized objects may be constants</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1453">
<td><a href="https://wg21.link/cwg1453">1453</a></td>
@@ -8618,11 +8618,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>List-initialization of aggregate from same-type object</td>
<td class="full" align="center">Clang 3.7 (C++11 onwards)</td>
</tr>
- <tr class="open" id="1468">
+ <tr id="1468">
<td><a href="https://wg21.link/cwg1468">1468</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td><TT>typeid</TT>, overload resolution, and implicit lambda capture</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1469">
<td><a href="https://wg21.link/cwg1469">1469</a></td>
@@ -8678,11 +8678,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Definition of a <TT>friend</TT> outside its namespace</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1478">
+ <tr id="1478">
<td><a href="https://wg21.link/cwg1478">1478</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td><TT>template</TT> keyword for dependent template template arguments</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1479">
<td><a href="https://wg21.link/cwg1479">1479</a></td>
@@ -8810,11 +8810,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Missing case for deleted move assignment operator</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1500">
+ <tr id="1500">
<td><a href="https://wg21.link/cwg1500">1500</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Name lookup of dependent conversion function</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1501">
<td><a href="https://wg21.link/cwg1501">1501</a></td>
@@ -8950,7 +8950,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1523">
<td><a href="https://wg21.link/cwg1523">1523</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Point of declaration in range-based <TT>for</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9080,11 +9080,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Linkage of member of unnamed namespace</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1545">
+ <tr id="1545">
<td><a href="https://wg21.link/cwg1545">1545</a></td>
- <td>drafting</td>
+ <td>NAD</td>
<td><TT>friend</TT> function templates defined in class templates</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1546">
<td><a href="https://wg21.link/cwg1546">1546</a></td>
@@ -9162,7 +9162,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg1558">1558</a></td>
<td>CD4</td>
<td>Unused arguments in alias template specializations</td>
- <td class="unreleased" align="center">Clang 12</td>
+ <td class="full" align="center">Clang 12</td>
</tr>
<tr id="1559">
<td><a href="https://wg21.link/cwg1559">1559</a></td>
@@ -9298,7 +9298,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1581">
<td><a href="https://wg21.link/cwg1581">1581</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>When are <TT>constexpr</TT> member functions defined?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9506,11 +9506,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Alignment of types, variables, and members</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1616">
+ <tr id="1616">
<td><a href="https://wg21.link/cwg1616">1616</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Disambiguation parsing and template parameters</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1617">
<td><a href="https://wg21.link/cwg1617">1617</a></td>
@@ -9538,7 +9538,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1621">
<td><a href="https://wg21.link/cwg1621">1621</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Member initializers in anonymous unions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9604,7 +9604,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1632">
<td><a href="https://wg21.link/cwg1632">1632</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Lambda capture in member initializers</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9628,7 +9628,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1636">
<td><a href="https://wg21.link/cwg1636">1636</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Bits required for negative enumerator values</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -9650,11 +9650,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><I>exception-specification</I>s and pointer/pointer-to-member expressions</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1640">
+ <tr id="1640">
<td><a href="https://wg21.link/cwg1640">1640</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td>Array of abstract instance of class template</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1641">
<td><a href="https://wg21.link/cwg1641">1641</a></td>
@@ -9674,11 +9674,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Default arguments for template parameter packs</td>
<td align="center">Extension</td>
</tr>
- <tr class="open" id="1644">
+ <tr id="1644">
<td><a href="https://wg21.link/cwg1644">1644</a></td>
- <td>open</td>
+ <td>NAD</td>
<td>Equivalent <I>exception-specification</I>s in function template declarations</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1645">
<td><a href="https://wg21.link/cwg1645">1645</a></td>
@@ -9686,11 +9686,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Identical inheriting constructors via default arguments</td>
<td class="full" align="center">Clang 3.9</td>
</tr>
- <tr class="open" id="1646">
+ <tr id="1646">
<td><a href="https://wg21.link/cwg1646">1646</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td><I>decltype-specifier</I>s, abstract classes, and deduction failure</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1647">
<td><a href="https://wg21.link/cwg1647">1647</a></td>
@@ -9746,11 +9746,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Line endings in raw string literals</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1656">
+ <tr id="1656">
<td><a href="https://wg21.link/cwg1656">1656</a></td>
- <td>drafting</td>
+ <td>WP</td>
<td>Encoding of numerically-escaped characters</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1657">
<td><a href="https://wg21.link/cwg1657">1657</a></td>
@@ -10006,7 +10006,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr class="open" id="1699">
<td><a href="https://wg21.link/cwg1699">1699</a></td>
- <td>drafting</td>
+ <td>open</td>
<td>Does befriending a class befriend its friends?</td>
<td align="center">Not resolved</td>
</tr>
@@ -10036,7 +10036,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1704">
<td><a href="https://wg21.link/cwg1704">1704</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Type checking in explicit instantiation of variable templates</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10076,11 +10076,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Missing <TT>template</TT> keyword in <I>class-or-decltype</I></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1711">
+ <tr id="1711">
<td><a href="https://wg21.link/cwg1711">1711</a></td>
- <td>drafting</td>
+ <td>WP</td>
<td>Missing specification of variable template partial specializations</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1712">
<td><a href="https://wg21.link/cwg1712">1712</a></td>
@@ -10088,11 +10088,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><TT>constexpr</TT> variable template declarations</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1713">
+ <tr id="1713">
<td><a href="https://wg21.link/cwg1713">1713</a></td>
- <td>drafting</td>
+ <td>dup</td>
<td>Linkage of variable template specializations</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1714">
<td><a href="https://wg21.link/cwg1714">1714</a></td>
@@ -10180,15 +10180,15 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1728">
<td><a href="https://wg21.link/cwg1728">1728</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Type of an explicit instantiation of a variable template</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1729">
+ <tr id="1729">
<td><a href="https://wg21.link/cwg1729">1729</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Matching declarations and definitions of variable templates</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1730">
<td><a href="https://wg21.link/cwg1730">1730</a></td>
@@ -10386,7 +10386,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg1762">1762</a></td>
<td>C++14</td>
<td>Reserved identifier used in <I>literal-operator-id</I> example</td>
- <td class="none" align="center">Unknown</td>
+ <td class="unreleased" align="center">Clang 14</td>
</tr>
<tr class="open" id="1763">
<td><a href="https://wg21.link/cwg1763">1763</a></td>
@@ -10436,17 +10436,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Type matching of non-type template parameters and arguments</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1771">
+ <tr id="1771">
<td><a href="https://wg21.link/cwg1771">1771</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Restricted lookup in <I>nested-name-specifier</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1772">
<td><a href="https://wg21.link/cwg1772">1772</a></td>
<td>C++14</td>
<td><TT>__func__</TT> in a lambda body</td>
- <td class="none" align="center">Unknown</td>
+ <td class="unreleased" align="center">Clang 14</td>
</tr>
<tr id="1773">
<td><a href="https://wg21.link/cwg1773">1773</a></td>
@@ -10488,7 +10488,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg1779">1779</a></td>
<td>CD4</td>
<td>Type dependency of <TT>__func__</TT></td>
- <td class="none" align="center">Unknown</td>
+ <td class="unreleased" align="center">Clang 14</td>
</tr>
<tr id="1780">
<td><a href="https://wg21.link/cwg1780">1780</a></td>
@@ -10498,7 +10498,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1781">
<td><a href="https://wg21.link/cwg1781">1781</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Converting from <TT>nullptr_t</TT> to <TT>bool</TT> in overload resolution</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10546,7 +10546,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr class="open" id="1789">
<td><a href="https://wg21.link/cwg1789">1789</a></td>
- <td>drafting</td>
+ <td>review</td>
<td>Array reference vs array decay in overload resolution</td>
<td align="center">Not resolved</td>
</tr>
@@ -10616,11 +10616,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Pointer to member of nested anonymous union</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1801">
+ <tr id="1801">
<td><a href="https://wg21.link/cwg1801">1801</a></td>
- <td>drafting</td>
+ <td>CD4</td>
<td>Kind of expression referring to member of anonymous union</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1802">
<td><a href="https://wg21.link/cwg1802">1802</a></td>
@@ -10628,11 +10628,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><TT>char16_t</TT> string literals and surrogate pairs</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1803">
+ <tr id="1803">
<td><a href="https://wg21.link/cwg1803">1803</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td><I>opaque-enum-declaration</I> as <I>member-declaration</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1804">
<td><a href="https://wg21.link/cwg1804">1804</a></td>
@@ -10718,11 +10718,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Linkage specifications and nested scopes</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1818">
+ <tr id="1818">
<td><a href="https://wg21.link/cwg1818">1818</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Visibility and inherited language linkage</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1819">
<td><a href="https://wg21.link/cwg1819">1819</a></td>
@@ -10730,23 +10730,23 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Acceptable scopes for definition of partial specialization</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1820">
+ <tr id="1820">
<td><a href="https://wg21.link/cwg1820">1820</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Qualified typedef names</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1821">
+ <tr id="1821">
<td><a href="https://wg21.link/cwg1821">1821</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Qualified redeclarations in a class <I>member-specification</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1822">
+ <tr id="1822">
<td><a href="https://wg21.link/cwg1822">1822</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Lookup of parameter names in <I>lambda-expression</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1823">
<td><a href="https://wg21.link/cwg1823">1823</a></td>
@@ -10778,17 +10778,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Reference binding with ambiguous conversions</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1828">
+ <tr id="1828">
<td><a href="https://wg21.link/cwg1828">1828</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td><I>nested-name-specifier</I> ambiguity</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1829">
+ <tr id="1829">
<td><a href="https://wg21.link/cwg1829">1829</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Dependent unnamed types</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1830">
<td><a href="https://wg21.link/cwg1830">1830</a></td>
@@ -10820,23 +10820,23 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Constant initialization binding a reference to an xvalue</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1835">
+ <tr id="1835">
<td><a href="https://wg21.link/cwg1835">1835</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Dependent member lookup before <TT><</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1836">
<td><a href="https://wg21.link/cwg1836">1836</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Use of class type being defined in <I>trailing-return-type</I></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1837">
+ <tr id="1837">
<td><a href="https://wg21.link/cwg1837">1837</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Use of <TT>this</TT> in <TT>friend</TT> and local class declarations</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1838">
<td><a href="https://wg21.link/cwg1838">1838</a></td>
@@ -10844,11 +10844,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Definition via <I>unqualified-id</I> and <I>using-declaration</I></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1839">
+ <tr id="1839">
<td><a href="https://wg21.link/cwg1839">1839</a></td>
- <td>review</td>
+ <td>DRWP</td>
<td>Lookup of block-scope <TT>extern</TT> declarations</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1840">
<td><a href="https://wg21.link/cwg1840">1840</a></td>
@@ -10856,11 +10856,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Non-deleted explicit specialization of deleted function template</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1841">
+ <tr id="1841">
<td><a href="https://wg21.link/cwg1841">1841</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td><TT><</TT> following template injected-class-name</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1842">
<td><a href="https://wg21.link/cwg1842">1842</a></td>
@@ -10952,11 +10952,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Indirect nested classes of class templates</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1857">
+ <tr id="1857">
<td><a href="https://wg21.link/cwg1857">1857</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td>Additional questions about bits</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1858">
<td><a href="https://wg21.link/cwg1858">1858</a></td>
@@ -10966,7 +10966,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1859">
<td><a href="https://wg21.link/cwg1859">1859</a></td>
- <td>NAD</td>
+ <td>CD5</td>
<td>UTF-16 in <TT>char16_t</TT> string literals</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -10984,7 +10984,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1862">
<td><a href="https://wg21.link/cwg1862">1862</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Determining “corresponding members” for friendship</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11090,11 +11090,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Inadequate definition of alignment requirement</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1880">
+ <tr id="1880">
<td><a href="https://wg21.link/cwg1880">1880</a></td>
- <td>drafting</td>
+ <td>CD4</td>
<td>When are parameter objects destroyed?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1881">
<td><a href="https://wg21.link/cwg1881">1881</a></td>
@@ -11114,11 +11114,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Protected access to constructors in <I>mem-initializer</I>s</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1884">
+ <tr id="1884">
<td><a href="https://wg21.link/cwg1884">1884</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Unclear requirements for same-named external-linkage entities</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1885">
<td><a href="https://wg21.link/cwg1885">1885</a></td>
@@ -11170,15 +11170,15 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1893">
<td><a href="https://wg21.link/cwg1893">1893</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Function-style cast with <I>braced-init-list</I>s and empty pack expansions</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1894">
+ <tr id="1894">
<td><a href="https://wg21.link/cwg1894">1894</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td><I>typedef-name</I>s and <I>using-declaration</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1895">
<td><a href="https://wg21.link/cwg1895">1895</a></td>
@@ -11186,11 +11186,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Deleted conversions in conditional operator operands</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1896">
+ <tr id="1896">
<td><a href="https://wg21.link/cwg1896">1896</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Repeated alias templates</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1897">
<td><a href="https://wg21.link/cwg1897">1897</a></td>
@@ -11198,11 +11198,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>ODR vs alternative tokens</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1898">
+ <tr id="1898">
<td><a href="https://wg21.link/cwg1898">1898</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Use of “equivalent” in overload resolution</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1899">
<td><a href="https://wg21.link/cwg1899">1899</a></td>
@@ -11210,11 +11210,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Value-dependent constant expressions</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1900">
+ <tr id="1900">
<td><a href="https://wg21.link/cwg1900">1900</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Do <TT>friend</TT> declarations count as “previous declarations”?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1901">
<td><a href="https://wg21.link/cwg1901">1901</a></td>
@@ -11252,17 +11252,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Name lookup in member <TT>friend</TT> declaration</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1907">
+ <tr id="1907">
<td><a href="https://wg21.link/cwg1907">1907</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td><I>using-declaration</I>s and default arguments</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1908">
+ <tr id="1908">
<td><a href="https://wg21.link/cwg1908">1908</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Dual destructor lookup and <I>template-id</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1909">
<td><a href="https://wg21.link/cwg1909">1909</a></td>
@@ -11272,7 +11272,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1910">
<td><a href="https://wg21.link/cwg1910">1910</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>“Shall” requirement applied to runtime behavior</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11290,7 +11290,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1913">
<td><a href="https://wg21.link/cwg1913">1913</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><TT>decltype((x))</TT> in <I>lambda-expression</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11312,11 +11312,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>“Same cv-unqualified type”</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1917">
+ <tr id="1917">
<td><a href="https://wg21.link/cwg1917">1917</a></td>
- <td>drafting</td>
+ <td>NAD</td>
<td>decltype-qualified enumeration names</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1918">
<td><a href="https://wg21.link/cwg1918">1918</a></td>
@@ -11426,21 +11426,21 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Reuse of placement arguments in deallocation</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1936">
+ <tr id="1936">
<td><a href="https://wg21.link/cwg1936">1936</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Dependent <I>qualified-id</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1937">
<td><a href="https://wg21.link/cwg1937">1937</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Incomplete specification of function pointer from lambda</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="1938">
<td><a href="https://wg21.link/cwg1938">1938</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Should hosted/freestanding be implementation-defined?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11468,11 +11468,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Incorrect reference to <I>trailing-return-type</I></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="1943">
+ <tr id="1943">
<td><a href="https://wg21.link/cwg1943">1943</a></td>
- <td>open</td>
+ <td>CD5</td>
<td>Unspecified meaning of “bit”</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="1944">
<td><a href="https://wg21.link/cwg1944">1944</a></td>
@@ -11654,11 +11654,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Which <I>parameter-declaration-clause</I> in a <I>lambda-expression</I>?</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="1974">
+ <tr id="1974">
<td><a href="https://wg21.link/cwg1974">1974</a></td>
- <td>open</td>
+ <td>NAD</td>
<td>Redundant specification of non-type <I>typename-specifier</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="1975">
<td><a href="https://wg21.link/cwg1975">1975</a></td>
@@ -11710,7 +11710,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="1983">
<td><a href="https://wg21.link/cwg1983">1983</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Inappropriate use of <I>virt-specifier</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -11852,11 +11852,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Cv-qualified <TT>void</TT> types</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2007">
+ <tr id="2007">
<td><a href="https://wg21.link/cwg2007">2007</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Argument-dependent lookup for <TT>operator=</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2008">
<td><a href="https://wg21.link/cwg2008">2008</a></td>
@@ -11864,11 +11864,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Default <I>template-argument</I>s underspecified</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2009">
+ <tr id="2009">
<td><a href="https://wg21.link/cwg2009">2009</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Unclear specification of class scope</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2010">
<td><a href="https://wg21.link/cwg2010">2010</a></td>
@@ -11932,7 +11932,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2020">
<td><a href="https://wg21.link/cwg2020">2020</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Inadequate description of odr-use of implicitly-invoked functions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -12080,11 +12080,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><TT>decltype(auto)</TT> and <TT>void</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2045">
+ <tr id="2045">
<td><a href="https://wg21.link/cwg2045">2045</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td>“Identical” template parameter lists</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2046">
<td><a href="https://wg21.link/cwg2046">2046</a></td>
@@ -12118,7 +12118,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2051">
<td><a href="https://wg21.link/cwg2051">2051</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Simplifying alias rules</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -12130,7 +12130,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2053">
<td><a href="https://wg21.link/cwg2053">2053</a></td>
- <td>DR</td>
+ <td>C++20</td>
<td><TT>auto</TT> in non-generic lambdas</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -12158,15 +12158,15 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Template template arguments with default arguments</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2058">
+ <tr id="2058">
<td><a href="https://wg21.link/cwg2058">2058</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>More errors from internal-linkage namespaces</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2059">
<td><a href="https://wg21.link/cwg2059">2059</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Linkage and deduced return types</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -12182,11 +12182,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Inline namespace after simplifications</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2062">
+ <tr id="2062">
<td><a href="https://wg21.link/cwg2062">2062</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Class template redeclaration requirements</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2063">
<td><a href="https://wg21.link/cwg2063">2063</a></td>
@@ -12200,11 +12200,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Conflicting specifications for dependent <I>decltype-specifier</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2065">
+ <tr id="2065">
<td><a href="https://wg21.link/cwg2065">2065</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Current instantiation of a partial specialization</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2066">
<td><a href="https://wg21.link/cwg2066">2066</a></td>
@@ -12230,11 +12230,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Do destructors have names?</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2070">
+ <tr id="2070">
<td><a href="https://wg21.link/cwg2070">2070</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td><I>using-declaration</I> with dependent <I>nested-name-specifier</I></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2071">
<td><a href="https://wg21.link/cwg2071">2071</a></td>
@@ -12270,7 +12270,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg2076">2076</a></td>
<td>CD4</td>
<td>List-initialization of arguments for constructor parameters</td>
- <td class="none" align="center">Unknown</td>
+ <td class="full" align="center">Clang 13</td>
</tr>
<tr class="open" id="2077">
<td><a href="https://wg21.link/cwg2077">2077</a></td>
@@ -12290,15 +12290,15 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<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">
+ <tr id="2080">
<td><a href="https://wg21.link/cwg2080">2080</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td>Example with empty anonymous union member</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2081">
<td><a href="https://wg21.link/cwg2081">2081</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Deduced return type in redeclaration or specialization of function template</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -12310,7 +12310,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2083">
<td><a href="https://wg21.link/cwg2083">2083</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Incorrect cases of odr-use</td>
<td class="partial" align="center">Partial</td>
</tr>
@@ -12340,7 +12340,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2088">
<td><a href="https://wg21.link/cwg2088">2088</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Late tiebreakers in partial ordering</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -12364,7 +12364,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2092">
<td><a href="https://wg21.link/cwg2092">2092</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Deduction failure and overload resolution</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -12414,7 +12414,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td><a href="https://wg21.link/cwg2100">2100</a></td>
<td>C++17</td>
<td>Value-dependent address of static data member of class template</td>
- <td class="unreleased" align="center">Clang 12</td>
+ <td class="full" align="center">Clang 12</td>
</tr>
<tr id="2101">
<td><a href="https://wg21.link/cwg2101">2101</a></td>
@@ -12430,7 +12430,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2103">
<td><a href="https://wg21.link/cwg2103">2103</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Lvalue-to-rvalue conversion is irrelevant in odr-use of a reference</td>
<td class="full" align="center">Yes</td>
</tr>
@@ -12482,11 +12482,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Array temporaries in reference binding</td>
<td align="center">Extension</td>
</tr>
- <tr class="open" id="2112">
+ <tr id="2112">
<td><a href="https://wg21.link/cwg2112">2112</a></td>
- <td>drafting</td>
+ <td>CD5</td>
<td><TT>new auto{x}</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2113">
<td><a href="https://wg21.link/cwg2113">2113</a></td>
@@ -12536,11 +12536,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Array as first non-static data member in standard-layout class</td>
<td class="full" align="center">Clang 7</td>
</tr>
- <tr class="open" id="2121">
+ <tr id="2121">
<td><a href="https://wg21.link/cwg2121">2121</a></td>
- <td>drafting</td>
+ <td>WP</td>
<td>More flexible lambda syntax</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2122">
<td><a href="https://wg21.link/cwg2122">2122</a></td>
@@ -12568,9 +12568,9 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2126">
<td><a href="https://wg21.link/cwg2126">2126</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Lifetime-extended temporaries in constant expressions</td>
- <td class="unreleased" align="center">Clang 12</td>
+ <td class="full" align="center">Clang 12</td>
</tr>
<tr class="open" id="2127">
<td><a href="https://wg21.link/cwg2127">2127</a></td>
@@ -12610,7 +12610,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2133">
<td><a href="https://wg21.link/cwg2133">2133</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Converting <TT>std::nullptr_t</TT> to <TT>bool</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -12796,15 +12796,15 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2164">
<td><a href="https://wg21.link/cwg2164">2164</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Name hiding and <I>using-directive</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2165">
+ <tr id="2165">
<td><a href="https://wg21.link/cwg2165">2165</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Namespaces, declarative regions, and translation units</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2166">
<td><a href="https://wg21.link/cwg2166">2166</a></td>
@@ -12832,7 +12832,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2170">
<td><a href="https://wg21.link/cwg2170">2170</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Unclear definition of odr-use for arrays</td>
<td class="full" align="center">Clang 9</td>
</tr>
@@ -12874,7 +12874,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2177">
<td><a href="https://wg21.link/cwg2177">2177</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Placement <TT>operator delete</TT> and parameter copies</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13004,11 +13004,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Linkage of enumerators</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2199">
+ <tr id="2199">
<td><a href="https://wg21.link/cwg2199">2199</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Typedefs and tags</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2200">
<td><a href="https://wg21.link/cwg2200">2200</a></td>
@@ -13054,7 +13054,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2207">
<td><a href="https://wg21.link/cwg2207">2207</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Alignment of allocation function return value</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13088,11 +13088,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Typedef changing linkage after use</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2213">
+ <tr id="2213">
<td><a href="https://wg21.link/cwg2213">2213</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Forward declaration of partial specializations</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2214">
<td><a href="https://wg21.link/cwg2214">2214</a></td>
@@ -13100,11 +13100,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Missing requirement on representation of integer values</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2215">
+ <tr id="2215">
<td><a href="https://wg21.link/cwg2215">2215</a></td>
- <td>review</td>
+ <td>C++17</td>
<td>Redundant description of language linkage in function call</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2216">
<td><a href="https://wg21.link/cwg2216">2216</a></td>
@@ -13168,13 +13168,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2226">
<td><a href="https://wg21.link/cwg2226">2226</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Xvalues vs lvalues in conditional expressions</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2227">
<td><a href="https://wg21.link/cwg2227">2227</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Destructor access and default member initializers</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13186,7 +13186,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2229">
<td><a href="https://wg21.link/cwg2229">2229</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Volatile unnamed bit-fields</td>
<td class="full" align="center">Clang 7</td>
</tr>
@@ -13210,19 +13210,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2233">
<td><a href="https://wg21.link/cwg2233">2233</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Function parameter packs following default arguments</td>
<td class="full" align="center">Clang 11</td>
</tr>
<tr id="2234">
<td><a href="https://wg21.link/cwg2234">2234</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Missing rules for <I>simple-template-id</I> as <I>class-name</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2235">
<td><a href="https://wg21.link/cwg2235">2235</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Partial ordering and non-dependent types</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13234,7 +13234,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2237">
<td><a href="https://wg21.link/cwg2237">2237</a></td>
- <td>WP</td>
+ <td>CD5</td>
<td>Can a <I>template-id</I> name a constructor?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13258,7 +13258,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2241">
<td><a href="https://wg21.link/cwg2241">2241</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Overload resolution is not invoked with a single function</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13306,7 +13306,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2249">
<td><a href="https://wg21.link/cwg2249">2249</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><I>identifier</I>s and <I>id-expression</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13330,31 +13330,31 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2253">
<td><a href="https://wg21.link/cwg2253">2253</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Unnamed bit-fields and zero-initialization</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2254">
<td><a href="https://wg21.link/cwg2254">2254</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Standard-layout classes and bit-fields</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2255">
<td><a href="https://wg21.link/cwg2255">2255</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Instantiated static data member templates</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2256">
<td><a href="https://wg21.link/cwg2256">2256</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Lifetime of trivially-destructible objects</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2257">
<td><a href="https://wg21.link/cwg2257">2257</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Lifetime extension of references vs exceptions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13372,7 +13372,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2260">
<td><a href="https://wg21.link/cwg2260">2260</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Explicit specializations of deleted member functions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13408,13 +13408,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2266">
<td><a href="https://wg21.link/cwg2266">2266</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Has dependent type vs is type-dependent</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2267">
<td><a href="https://wg21.link/cwg2267">2267</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Copy-initialization of temporary in reference direct-initialization</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13450,7 +13450,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2273">
<td><a href="https://wg21.link/cwg2273">2273</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Inheriting constructors vs implicit default constructor</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13474,13 +13474,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2277">
<td><a href="https://wg21.link/cwg2277">2277</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Ambiguity inheriting constructors with default arguments</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2278">
<td><a href="https://wg21.link/cwg2278">2278</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Copy elision in constant expressions reconsidered</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13492,7 +13492,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2280">
<td><a href="https://wg21.link/cwg2280">2280</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Matching a usual deallocation function with placement new</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13504,7 +13504,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2282">
<td><a href="https://wg21.link/cwg2282">2282</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13522,7 +13522,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2285">
<td><a href="https://wg21.link/cwg2285">2285</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Issues with structured bindings</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13534,7 +13534,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2287">
<td><a href="https://wg21.link/cwg2287">2287</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Pointer-interconvertibility in non-standard-layout unions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13546,13 +13546,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2289">
<td><a href="https://wg21.link/cwg2289">2289</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Uniqueness of structured binding names</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2290">
<td><a href="https://wg21.link/cwg2290">2290</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Unclear specification for overload resolution and deleted special member functions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13564,27 +13564,27 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2292">
<td><a href="https://wg21.link/cwg2292">2292</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><I>simple-template-id</I> is ambiguous between <I>class-name</I> and <I>type-name</I></td>
<td class="full" align="center">Clang 9</td>
</tr>
<tr id="2293">
<td><a href="https://wg21.link/cwg2293">2293</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Requirements for <I>simple-template-id</I> used as a <I>class-name</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2294">
<td><a href="https://wg21.link/cwg2294">2294</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Dependent <TT>auto</TT> static data members</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2295">
+ <tr id="2295">
<td><a href="https://wg21.link/cwg2295">2295</a></td>
- <td>extension</td>
+ <td>CD5</td>
<td>Aggregates with deleted defaulted constructors</td>
- <td align="center">Extension</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2296">
<td><a href="https://wg21.link/cwg2296">2296</a></td>
@@ -13606,13 +13606,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2299">
<td><a href="https://wg21.link/cwg2299">2299</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><TT>constexpr</TT> vararg functions</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2300">
<td><a href="https://wg21.link/cwg2300">2300</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Lambdas in multiple definitions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13630,9 +13630,9 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2303">
<td><a href="https://wg21.link/cwg2303">2303</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Partial ordering and recursive variadic inheritance</td>
- <td class="unreleased" align="center">Clang 12</td>
+ <td class="full" align="center">Clang 12</td>
</tr>
<tr id="2304">
<td><a href="https://wg21.link/cwg2304">2304</a></td>
@@ -13642,7 +13642,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2305">
<td><a href="https://wg21.link/cwg2305">2305</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Explicit instantiation of constexpr or inline variable template</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13654,7 +13654,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2307">
<td><a href="https://wg21.link/cwg2307">2307</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Unclear definition of “equivalent to a nontype template parameter”</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13666,13 +13666,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2309">
<td><a href="https://wg21.link/cwg2309">2309</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Restrictions on nested statements within <TT>constexpr</TT> functions</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2310">
<td><a href="https://wg21.link/cwg2310">2310</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Type completeness and derived-to-base pointer conversions</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13682,15 +13682,15 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Missed case for guaranteed copy elision</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2312">
+ <tr id="2312">
<td><a href="https://wg21.link/cwg2312">2312</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Structured bindings and <TT>mutable</TT></td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2313">
<td><a href="https://wg21.link/cwg2313">2313</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Redeclaration of structured binding reference variables</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13702,7 +13702,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2315">
<td><a href="https://wg21.link/cwg2315">2315</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>What is the “corresponding special member” of a variant member?</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13714,13 +13714,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2317">
<td><a href="https://wg21.link/cwg2317">2317</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Self-referential default member initializers</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2318">
<td><a href="https://wg21.link/cwg2318">2318</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Nondeduced contexts in deduction from a <I>braced-init-list</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13738,19 +13738,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2321">
<td><a href="https://wg21.link/cwg2321">2321</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Conditional operator and cv-qualified class prvalues</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2322">
<td><a href="https://wg21.link/cwg2322">2322</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Substitution failure and lexical order</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2323">
<td><a href="https://wg21.link/cwg2323">2323</a></td>
- <td>WP</td>
+ <td>C++20</td>
<td>Expunge POD</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13792,27 +13792,27 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2330">
<td><a href="https://wg21.link/cwg2330">2330</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Missing references to variable templates</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2331">
+ <tr id="2331">
<td><a href="https://wg21.link/cwg2331">2331</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Redundancy in description of class scope</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2332">
<td><a href="https://wg21.link/cwg2332">2332</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><I>template-name</I> as <I>simple-type-name</I> vs injected-class-name</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2333">
+ <tr id="2333">
<td><a href="https://wg21.link/cwg2333">2333</a></td>
- <td>drafting</td>
+ <td>WP</td>
<td>Escape sequences in UTF-8 character literals</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2334">
<td><a href="https://wg21.link/cwg2334">2334</a></td>
@@ -13828,7 +13828,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2336">
<td><a href="https://wg21.link/cwg2336">2336</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Destructor characteristics vs potentially-constructed subobjects</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13840,13 +13840,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2338">
<td><a href="https://wg21.link/cwg2338">2338</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Undefined behavior converting to short enums with fixed underlying types</td>
- <td class="unreleased" align="center">Clang 12</td>
+ <td class="full" align="center">Clang 12</td>
</tr>
<tr id="2339">
<td><a href="https://wg21.link/cwg2339">2339</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Underspecified template arguments in structured bindings</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13864,15 +13864,15 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2342">
<td><a href="https://wg21.link/cwg2342">2342</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Reference <TT>reinterpret_cast</TT> and pointer-interconvertibility</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2343">
+ <tr id="2343">
<td><a href="https://wg21.link/cwg2343">2343</a></td>
- <td>extension</td>
+ <td>C++20</td>
<td><TT>void*</TT> non-type template parameters</td>
- <td align="center">Extension</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2344">
<td><a href="https://wg21.link/cwg2344">2344</a></td>
@@ -13888,13 +13888,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2346">
<td><a href="https://wg21.link/cwg2346">2346</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Local variables in default arguments</td>
<td class="full" align="center">Clang 11</td>
</tr>
<tr id="2347">
<td><a href="https://wg21.link/cwg2347">2347</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Passing short scoped enumerations to ellipsis</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13918,25 +13918,25 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2351">
<td><a href="https://wg21.link/cwg2351">2351</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><TT>void{}</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2352">
<td><a href="https://wg21.link/cwg2352">2352</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Similar types and reference binding</td>
<td class="full" align="center">Clang 10</td>
</tr>
<tr id="2353">
<td><a href="https://wg21.link/cwg2353">2353</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Potential results of a member access expression for a static data member</td>
<td class="full" align="center">Clang 9</td>
</tr>
<tr id="2354">
<td><a href="https://wg21.link/cwg2354">2354</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Extended alignment and object representation</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13948,7 +13948,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2356">
<td><a href="https://wg21.link/cwg2356">2356</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Base class copy and move constructors should not be inherited</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13960,19 +13960,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2358">
<td><a href="https://wg21.link/cwg2358">2358</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Explicit capture of value</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2359">
<td><a href="https://wg21.link/cwg2359">2359</a></td>
- <td>WP</td>
+ <td>CD5</td>
<td>Unintended copy initialization with designated initializers</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2360">
<td><a href="https://wg21.link/cwg2360">2360</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><TT>[[maybe_unused]]</TT> and structured bindings</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -13994,69 +13994,69 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Opaque enumeration friend declarations</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2364">
+ <tr id="2364">
<td><a href="https://wg21.link/cwg2364">2364</a></td>
- <td>drafting</td>
+ <td>NAD</td>
<td>Constant expressions, aggregate initialization, and modifications</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2365">
<td><a href="https://wg21.link/cwg2365">2365</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Confusing specification for <TT>dynamic_cast</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2366">
<td><a href="https://wg21.link/cwg2366">2366</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Can default initialization be constant initialization?</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2367">
+ <tr id="2367">
<td><a href="https://wg21.link/cwg2367">2367</a></td>
- <td>open</td>
+ <td>NAD</td>
<td>Lambdas in default arguments vs the ODR</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2368">
<td><a href="https://wg21.link/cwg2368">2368</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Differences in relational and three-way constant comparisons</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2369">
+ <tr id="2369">
<td><a href="https://wg21.link/cwg2369">2369</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td>Ordering between constraints and substitution</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2370">
+ <tr id="2370">
<td><a href="https://wg21.link/cwg2370">2370</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td><TT>friend</TT> declarations of namespace-scope functions</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2371">
+ <tr id="2371">
<td><a href="https://wg21.link/cwg2371">2371</a></td>
- <td>open</td>
+ <td>CD5</td>
<td>Use of the English term “attributes” is confusing</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2372">
<td><a href="https://wg21.link/cwg2372">2372</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Incorrect matching rules for block-scope <TT>extern</TT> declarations</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2373">
<td><a href="https://wg21.link/cwg2373">2373</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Incorrect handling of static member function templates in partial ordering</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2374">
<td><a href="https://wg21.link/cwg2374">2374</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Overly permissive specification of <TT>enum</TT> direct-list-initialization</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14068,7 +14068,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2376">
<td><a href="https://wg21.link/cwg2376">2376</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Class template argument deduction with array declarator</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14080,31 +14080,31 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2378">
<td><a href="https://wg21.link/cwg2378">2378</a></td>
- <td>accepted</td>
+ <td>C++20</td>
<td>Inconsistent grammar for reference <I>init-capture</I> of pack</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2379">
<td><a href="https://wg21.link/cwg2379">2379</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Missing prohibition against <TT>constexpr</TT> in <TT>friend</TT> declaration</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2380">
<td><a href="https://wg21.link/cwg2380">2380</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><I>capture-default</I> makes too many references odr-usable</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2381">
<td><a href="https://wg21.link/cwg2381">2381</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Composite pointer type of pointers to plain and noexcept member functions</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2382">
<td><a href="https://wg21.link/cwg2382">2382</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Array allocation overhead for non-allocating placement <TT>new</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14116,25 +14116,25 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2384">
<td><a href="https://wg21.link/cwg2384">2384</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Conversion function templates and qualification conversions</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2385">
<td><a href="https://wg21.link/cwg2385">2385</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Lookup for <I>conversion-function-id</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2386">
<td><a href="https://wg21.link/cwg2386">2386</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><T>tuple_size</T> requirements for structured binding</td>
<td class="full" align="center">Clang 9</td>
</tr>
<tr id="2387">
<td><a href="https://wg21.link/cwg2387">2387</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Linkage of const-qualified variable template</td>
<td class="full" align="center">Clang 9</td>
</tr>
@@ -14152,13 +14152,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2390">
<td><a href="https://wg21.link/cwg2390">2390</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Is the argument of <TT>__has_cpp_attribute</TT> macro-expanded?</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2391">
<td><a href="https://wg21.link/cwg2391">2391</a></td>
- <td>DUP</td>
+ <td>dup</td>
<td>Additional template parameters following pack expansion</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14176,7 +14176,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2394">
<td><a href="https://wg21.link/cwg2394">2394</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Const-default-constructible for members</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14186,17 +14186,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Parameters following a pack expansion</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2396">
+ <tr id="2396">
<td><a href="https://wg21.link/cwg2396">2396</a></td>
- <td>open</td>
+ <td>DRWP</td>
<td>Lookup of names in complex <I>conversion-type-id</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2397">
+ <tr id="2397">
<td><a href="https://wg21.link/cwg2397">2397</a></td>
- <td>drafting</td>
+ <td>DR</td>
<td><TT>auto</TT> specifier for pointers and references to arrays</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2398">
<td><a href="https://wg21.link/cwg2398">2398</a></td>
@@ -14206,13 +14206,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2399">
<td><a href="https://wg21.link/cwg2399">2399</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Unclear referent of “expression” in <I>assignment-expression</I></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2400">
<td><a href="https://wg21.link/cwg2400">2400</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Constexpr virtual functions and temporary objects</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14222,11 +14222,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Array decay vs prohibition of subobject non-type arguments</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2402">
+ <tr id="2402">
<td><a href="https://wg21.link/cwg2402">2402</a></td>
- <td>drafting</td>
+ <td>WP</td>
<td>When is the restriction to a single <I>c-char</I> in a Unicode literal enforced?</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2403">
<td><a href="https://wg21.link/cwg2403">2403</a></td>
@@ -14236,7 +14236,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2404">
<td><a href="https://wg21.link/cwg2404">2404</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><TT>[[no_unique_address]]</TT> and allocation order</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14248,7 +14248,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2406">
<td><a href="https://wg21.link/cwg2406">2406</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td><TT>[[fallthrough]]</TT> attribute and iteration statements</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14276,11 +14276,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>Implicit calls of immediate functions</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2411">
+ <tr id="2411">
<td><a href="https://wg21.link/cwg2411">2411</a></td>
- <td>open</td>
+ <td>C++20</td>
<td>Comparison of pointers to members in template non-type arguments</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2412">
<td><a href="https://wg21.link/cwg2412">2412</a></td>
@@ -14288,17 +14288,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
<td>SFINAE vs undeduced placeholder type</td>
<td align="center">Not resolved</td>
</tr>
- <tr class="open" id="2413">
+ <tr id="2413">
<td><a href="https://wg21.link/cwg2413">2413</a></td>
- <td>drafting</td>
+ <td>DRWP</td>
<td><TT>typename</TT> in <I>conversion-function-id</I>s</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2414">
+ <tr id="2414">
<td><a href="https://wg21.link/cwg2414">2414</a></td>
- <td>drafting</td>
+ <td>C++20</td>
<td>Unclear results if both member and friend <TT>operator<=></TT> are declared</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr id="2415">
<td><a href="https://wg21.link/cwg2415">2415</a></td>
@@ -14308,7 +14308,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2416">
<td><a href="https://wg21.link/cwg2416">2416</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Explicit specializations vs <TT>constexpr</TT> and <TT>consteval</TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14320,13 +14320,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2418">
<td><a href="https://wg21.link/cwg2418">2418</a></td>
- <td>DRWP</td>
+ <td>CD5</td>
<td>Missing cases in definition of “usable in constant expressions”</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2419">
<td><a href="https://wg21.link/cwg2419">2419</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Loss of generality treating pointers to objects as one-element arrays</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14338,13 +14338,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr class="open" id="2421">
<td><a href="https://wg21.link/cwg2421">2421</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Explicit instantiation of constrained member functions</td>
<td align="center">Not resolved</td>
</tr>
<tr id="2422">
<td><a href="https://wg21.link/cwg2422">2422</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Incorrect grammar for <I>deduction-guide</I></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14356,7 +14356,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2424">
<td><a href="https://wg21.link/cwg2424">2424</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td><TT>constexpr</TT> initialization requirements for variant members</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14368,13 +14368,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2426">
<td><a href="https://wg21.link/cwg2426">2426</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Reference to destructor that cannot be invoked</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2427">
<td><a href="https://wg21.link/cwg2427">2427</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Deprecation of volatile operands and unevaluated contexts</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14386,31 +14386,31 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2429">
<td><a href="https://wg21.link/cwg2429">2429</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Initialization of <TT>thread_local</TT> variables referenced by lambdas</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2430">
<td><a href="https://wg21.link/cwg2430">2430</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Completeness of return and parameter types of member functions</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2431">
<td><a href="https://wg21.link/cwg2431">2431</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Full-expressions and temporaries bound to references</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2432">
<td><a href="https://wg21.link/cwg2432">2432</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Return types for defaulted <TT><=></TT></td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2433">
<td><a href="https://wg21.link/cwg2433">2433</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Variable templates in the ODR</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14428,13 +14428,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2436">
<td><a href="https://wg21.link/cwg2436">2436</a></td>
- <td>accepted</td>
+ <td>C++20</td>
<td>Copy semantics of coroutine parameters</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2437">
<td><a href="https://wg21.link/cwg2437">2437</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Conversion of <TT>std::strong_ordering</TT> in a defaulted <TT>operator<=></TT></td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14446,7 +14446,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2439">
<td><a href="https://wg21.link/cwg2439">2439</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Undefined term in definition of “usable in constant expressions”</td>
<td class="none" align="center">Unknown</td>
</tr>
@@ -14458,64 +14458,370 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
</tr>
<tr id="2441">
<td><a href="https://wg21.link/cwg2441">2441</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Inline function parameters</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2442">
<td><a href="https://wg21.link/cwg2442">2442</a></td>
- <td>DRWP</td>
+ <td>C++20</td>
<td>Incorrect requirement for default arguments</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2443">
<td><a href="https://wg21.link/cwg2443">2443</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Meaningless template exports</td>
<td align="center">Not resolved</td>
</tr>
<tr class="open" id="2444">
<td><a href="https://wg21.link/cwg2444">2444</a></td>
- <td>open</td>
+ <td>drafting</td>
<td>Constant expressions in initialization odr-use</td>
<td align="center">Not resolved</td>
</tr>
<tr id="2445">
<td><a href="https://wg21.link/cwg2445">2445</a></td>
- <td></td>
+ <td>C++20</td>
<td>Partial ordering with rewritten candidates</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2446">
<td><a href="https://wg21.link/cwg2446">2446</a></td>
- <td>accepted</td>
+ <td>C++20</td>
<td>Questionable type-dependency of <I>concept-id</I>s</td>
<td class="none" align="center">Unknown</td>
</tr>
<tr id="2447">
<td><a href="https://wg21.link/cwg2447">2447</a></td>
- <td>accepted</td>
+ <td>C++20</td>
<td>Unintended description of abbreviated function templates</td>
<td class="none" align="center">Unknown</td>
</tr>
- <tr class="open" id="2448">
+ <tr id="2448">
<td><a href="https://wg21.link/cwg2448">2448</a></td>
- <td>open</td>
+ <td>DR</td>
<td>Cv-qualification of arithmetic types and deprecation of volatile</td>
- <td align="center">Not resolved</td>
+ <td class="none" align="center">Unknown</td>
</tr>
<tr class="open" id="2449">
<td><a href="https://wg21.link/cwg2449">2449</a></td>
- <td>open</td>
+ <td>extension</td>
<td>Thunks as an implementation technique for pointers to virtual functions</td>
- <td align="center">Not resolved</td>
+ <td align="center">Extension</td>
</tr>
<tr class="open" id="2450">
<td><a href="https://wg21.link/cwg2450">2450</a></td>
- <td>open</td>
+ <td>drafting</td>
<td><I>braced-init-list</I> as a <I>template-argument</I></td>
<td align="center">Not resolved</td>
</tr>
+ <tr class="open" id="2451">
+ <td><a href="https://wg21.link/cwg2451">2451</a></td>
+ <td>review</td>
+ <td><I>promise</I><TT>.unhandled_exception()</TT> and final suspend point</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2452">
+ <td><a href="https://wg21.link/cwg2452">2452</a></td>
+ <td>DRWP</td>
+ <td>Flowing off the end of a coroutine</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2453">
+ <td><a href="https://wg21.link/cwg2453">2453</a></td>
+ <td>NAD</td>
+ <td>Deduced return types and coroutine lambdas</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2454">
+ <td><a href="https://wg21.link/cwg2454">2454</a></td>
+ <td>NAD</td>
+ <td>Tail recursion and coroutine symmetric transfer</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2455">
+ <td><a href="https://wg21.link/cwg2455">2455</a></td>
+ <td>drafting</td>
+ <td>Concatenation of string literals vs translation phases 5 and 6</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2456">
+ <td><a href="https://wg21.link/cwg2456">2456</a></td>
+ <td>open</td>
+ <td>Viable user-defined conversions in converted constant expressions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2457">
+ <td><a href="https://wg21.link/cwg2457">2457</a></td>
+ <td>DRWP</td>
+ <td>Unexpanded parameter packs don't make a function type dependent</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2458">
+ <td><a href="https://wg21.link/cwg2458">2458</a></td>
+ <td>DR</td>
+ <td>Value category of expressions denoting non-static member functions</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2459">
+ <td><a href="https://wg21.link/cwg2459">2459</a></td>
+ <td>drafting</td>
+ <td>Template parameter initialization</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2460">
+ <td><a href="https://wg21.link/cwg2460">2460</a></td>
+ <td>DRWP</td>
+ <td>C language linkage and constrained non-template friends</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2461">
+ <td><a href="https://wg21.link/cwg2461">2461</a></td>
+ <td>DRWP</td>
+ <td>Diagnosing non-<TT>bool</TT> type constraints</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2462">
+ <td><a href="https://wg21.link/cwg2462">2462</a></td>
+ <td>drafting</td>
+ <td>Problems with the omission of the <TT>typename</TT> keyword</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2463">
+ <td><a href="https://wg21.link/cwg2463">2463</a></td>
+ <td>open</td>
+ <td>Trivial copyability and unions with non-trivial members</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2464">
+ <td><a href="https://wg21.link/cwg2464">2464</a></td>
+ <td>open</td>
+ <td>Constexpr launder and unions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2465">
+ <td><a href="https://wg21.link/cwg2465">2465</a></td>
+ <td>DR</td>
+ <td>Coroutine parameters passed to a promise constructor</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2466">
+ <td><a href="https://wg21.link/cwg2466">2466</a></td>
+ <td>DR</td>
+ <td><TT>co_await</TT> should be a single evaluation</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2467">
+ <td><a href="https://wg21.link/cwg2467">2467</a></td>
+ <td>open</td>
+ <td>CTAD for alias templates and the deducible check</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2468">
+ <td><a href="https://wg21.link/cwg2468">2468</a></td>
+ <td>drafting</td>
+ <td>Omission of the <TT>typename</TT> keyword in a member template parameter list</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2469">
+ <td><a href="https://wg21.link/cwg2469">2469</a></td>
+ <td>drafting</td>
+ <td>Implicit object creation vs constant expressions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2470">
+ <td><a href="https://wg21.link/cwg2470">2470</a></td>
+ <td>DRWP</td>
+ <td>Multiple array objects providing storage for one object</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2471">
+ <td><a href="https://wg21.link/cwg2471">2471</a></td>
+ <td>drafting</td>
+ <td>Nested class template argument deduction</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2472">
+ <td><a href="https://wg21.link/cwg2472">2472</a></td>
+ <td>NAD</td>
+ <td>Value categories in <I>await-expression</I>s</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2473">
+ <td><a href="https://wg21.link/cwg2473">2473</a></td>
+ <td>drafting</td>
+ <td>Parentheses in pseudo-destructor calls</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2474">
+ <td><a href="https://wg21.link/cwg2474">2474</a></td>
+ <td>DR</td>
+ <td>Cv-qualification and deletion</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2475">
+ <td><a href="https://wg21.link/cwg2475">2475</a></td>
+ <td>open</td>
+ <td>Object declarations of type <I>cv</I> <TT>void</TT></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2476">
+ <td><a href="https://wg21.link/cwg2476">2476</a></td>
+ <td>drafting</td>
+ <td><I>placeholder-type-specifier</I>s and function declarators</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2477">
+ <td><a href="https://wg21.link/cwg2477">2477</a></td>
+ <td>DR</td>
+ <td>Defaulted vs deleted copy constructors/assignment operators</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2478">
+ <td><a href="https://wg21.link/cwg2478">2478</a></td>
+ <td>open</td>
+ <td>Properties of explicit specializations of implicitly-instantiated class templates</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2479">
+ <td><a href="https://wg21.link/cwg2479">2479</a></td>
+ <td>DR</td>
+ <td>Missing specifications for <TT>consteval</TT> and <TT>constinit</TT></td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2480">
+ <td><a href="https://wg21.link/cwg2480">2480</a></td>
+ <td>drafting</td>
+ <td>Lookup for enumerators in modules</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2481">
+ <td><a href="https://wg21.link/cwg2481">2481</a></td>
+ <td>DR</td>
+ <td>Cv-qualification of temporary to which a reference is bound</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2482">
+ <td><a href="https://wg21.link/cwg2482">2482</a></td>
+ <td>review</td>
+ <td><TT>bit_cast</TT> and indeterminate values</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2483">
+ <td><a href="https://wg21.link/cwg2483">2483</a></td>
+ <td>open</td>
+ <td>Language linkage of static member functions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2484">
+ <td><a href="https://wg21.link/cwg2484">2484</a></td>
+ <td>open</td>
+ <td><TT>char8_t</TT> and <TT>char16_t</TT> in integral promotions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2485">
+ <td><a href="https://wg21.link/cwg2485">2485</a></td>
+ <td>open</td>
+ <td>Bit-fields in integral promotions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2486">
+ <td><a href="https://wg21.link/cwg2486">2486</a></td>
+ <td>drafting</td>
+ <td>Call to <TT>noexcept</TT> function via <TT>noexcept(false)</TT> pointer/lvalue</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2487">
+ <td><a href="https://wg21.link/cwg2487">2487</a></td>
+ <td>drafting</td>
+ <td>Type dependence of function-style cast to incomplete array type</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2488">
+ <td><a href="https://wg21.link/cwg2488">2488</a></td>
+ <td>NAD</td>
+ <td>Overloading virtual functions and functions with trailing <I>requires-clause</I>s</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2489">
+ <td><a href="https://wg21.link/cwg2489">2489</a></td>
+ <td>open</td>
+ <td>Storage provided by array of <TT>char</TT></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2490">
+ <td><a href="https://wg21.link/cwg2490">2490</a></td>
+ <td>drafting</td>
+ <td>Restrictions on destruction in constant expressions</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2491">
+ <td><a href="https://wg21.link/cwg2491">2491</a></td>
+ <td>ready</td>
+ <td>Export of typedef after its first declaration</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr id="2492">
+ <td><a href="https://wg21.link/cwg2492">2492</a></td>
+ <td>NAD</td>
+ <td>Comparing user-defined conversion sequences in list-initialization</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2493">
+ <td><a href="https://wg21.link/cwg2493">2493</a></td>
+ <td>open</td>
+ <td><TT>auto</TT> as a <I>conversion-type-id</I></td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2494">
+ <td><a href="https://wg21.link/cwg2494">2494</a></td>
+ <td>drafting</td>
+ <td>Multiple definitions of non-odr-used entities</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2495">
+ <td><a href="https://wg21.link/cwg2495">2495</a></td>
+ <td>review</td>
+ <td>Glvalue result of a function call</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr id="2496">
+ <td><a href="https://wg21.link/cwg2496">2496</a></td>
+ <td>ready</td>
+ <td><I>ref-qualifier</I>s and virtual overriding</td>
+ <td class="none" align="center">Unknown</td>
+ </tr>
+ <tr class="open" id="2497">
+ <td><a href="https://wg21.link/cwg2497">2497</a></td>
+ <td>open</td>
+ <td>Points of instantiation for constexpr function templates</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2498">
+ <td><a href="https://wg21.link/cwg2498">2498</a></td>
+ <td>open</td>
+ <td>Partial specialization failure and the immediate context</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2499">
+ <td><a href="https://wg21.link/cwg2499">2499</a></td>
+ <td>open</td>
+ <td>Inconsistency in definition of pointer-interconvertibility</td>
+ <td align="center">Not resolved</td>
+ </tr>
+ <tr class="open" id="2500">
+ <td><a href="https://wg21.link/cwg2500">2500</a></td>
+ <td>extension</td>
+ <td><TT>noexcept(false)</TT> functions and <TT>noexcept</TT> expressions</td>
+ <td align="center">Extension</td>
+ </tr>
+ <tr class="open" id="2501">
+ <td><a href="https://wg21.link/cwg2501">2501</a></td>
+ <td>open</td>
+ <td>Explicit instantiation and trailing <I>requires-clause</I>s</td>
+ <td align="center">Not resolved</td>
+ </tr>
</table>
</div>
diff --git a/clang/www/make_cxx_dr_status b/clang/www/make_cxx_dr_status
index ed727181c8b76..d35165f90ed03 100755
--- a/clang/www/make_cxx_dr_status
+++ b/clang/www/make_cxx_dr_status
@@ -92,7 +92,7 @@ print >> out_file, '''\
<th>Available in Clang?</th>
</tr>'''
-latest_release = 11
+latest_release = 13
def availability(issue):
status = status_map.get(issue, 'unknown')
More information about the cfe-commits
mailing list