EricWF updated this revision to Diff 98234. EricWF marked 2 inline comments as done. EricWF added a comment.
- Fix incorrect issue number. - Regenerate issue list. https://reviews.llvm.org/D32984 Files: lib/AST/Type.cpp test/CXX/drs/dr20xx.cpp test/CXX/drs/dr4xx.cpp test/SemaCXX/type-traits.cpp www/cxx_dr_status.html
Index: www/cxx_dr_status.html =================================================================== --- www/cxx_dr_status.html +++ www/cxx_dr_status.html @@ -589,7 +589,7 @@ </tr> <tr id="92"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#92">92</a></td> - <td>WP</td> + <td>CD4</td> <td>Should <I>exception-specification</I>s be part of the type system?</td> <td class="svn" align="center">Clang 4 (C++17 onwards)</td> </tr> @@ -935,11 +935,11 @@ <td>Accessibility and ambiguity</td> <td class="na" align="center">N/A</td> </tr> - <tr class="open" id="150"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#150">150</a></td> - <td>open</td> + <tr id="150"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#150">150</a></td> + <td>DR</td> <td>Template template parameters and default arguments</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="151"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#151">151</a></td> @@ -1310,7 +1310,7 @@ </tr> <tr id="212"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#212">212</a></td> - <td>DR</td> + <td>CD4</td> <td>Implicit instantiation is not described clearly enough</td> <td class="none" align="center">Unknown</td> </tr> @@ -1466,7 +1466,7 @@ </tr> <tr id="238"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#238">238</a></td> - <td>DR</td> + <td>CD4</td> <td>Precision and accuracy constraints on floating point</td> <td class="none" align="center">Unknown</td> </tr> @@ -1490,7 +1490,7 @@ </tr> <tr id="242"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#242">242</a></td> - <td>DR</td> + <td>CD4</td> <td>Interpretation of old-style casts</td> <td class="none" align="center">Unknown</td> </tr> @@ -2019,7 +2019,7 @@ </tr> <tr id="330"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#330">330</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Qualification conversions and pointers to arrays of pointers</td> <td class="none" align="center">Unknown</td> </tr> @@ -2397,7 +2397,7 @@ </tr> <tr id="393"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#393">393</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Pointer to array of unknown bound in template argument list in parameter</td> <td class="none" align="center">Unknown</td> </tr> @@ -3017,7 +3017,7 @@ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#496">496</a></td> <td>CD3</td> <td>Is a volatile-qualified type really a POD?</td> - <td class="none" align="center">No</td> + <td class="none" align="center">Superseded by <a href="#dr2094">dr2094</a></td> </tr> <tr id="497"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#497">497</a></td> @@ -3587,7 +3587,7 @@ </tr> <tr id="591"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#591">591</a></td> - <td>DRWP</td> + <td>CD4</td> <td>When a dependent base class is the current instantiation</td> <td class="none" align="center">No</td> </tr> @@ -3695,7 +3695,7 @@ </tr> <tr id="609"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#609">609</a></td> - <td>DRWP</td> + <td>CD4</td> <td>What is a “top-level” cv-qualifier?</td> <td class="none" align="center">Unknown</td> </tr> @@ -5735,7 +5735,7 @@ </tr> <tr id="987"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#987">987</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Which declarations introduce namespace members?</td> <td class="none" align="center">Unknown</td> </tr> @@ -5939,7 +5939,7 @@ </tr> <tr id="1021"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1021">1021</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Definitions of namespace members</td> <td class="none" align="center">Unknown</td> </tr> @@ -6509,7 +6509,7 @@ </tr> <tr id="1116"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1116">1116</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Aliasing of union members</td> <td class="none" align="center">Unknown</td> </tr> @@ -7295,7 +7295,7 @@ </tr> <tr id="1247"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1247">1247</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Restriction on alias name appearing in <I>type-id</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -7457,7 +7457,7 @@ </tr> <tr id="1274"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1274">1274</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Common nonterminal for <I>expression</I> and <I>braced-init-list</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -7517,7 +7517,7 @@ </tr> <tr id="1284"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1284">1284</a></td> - <td>DR</td> + <td>CD4</td> <td>Should the lifetime of an array be independent of that of its elements?</td> <td class="none" align="center">Unknown</td> </tr> @@ -7565,7 +7565,7 @@ </tr> <tr id="1292"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1292">1292</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Dependent calls with <I>braced-init-list</I>s containing a pack expansion</td> <td class="none" align="center">Unknown</td> </tr> @@ -7667,7 +7667,7 @@ </tr> <tr id="1309"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1309">1309</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Incorrect note regarding lookup of a member of the current instantiation</td> <td class="none" align="center">Unknown</td> </tr> @@ -7703,7 +7703,7 @@ </tr> <tr id="1315"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1315">1315</a></td> - <td>DR</td> + <td>CD4</td> <td>Restrictions on non-type template arguments in partial specializations</td> <td class="partial" align="center">Partial</td> </tr> @@ -7841,7 +7841,7 @@ </tr> <tr id="1338"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1338">1338</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Aliasing and allocation functions</td> <td class="none" align="center">Unknown</td> </tr> @@ -7870,8 +7870,8 @@ <td align="center">Not resolved</td> </tr> <tr id="1343"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1343">1343</a></td> - <td>tentatively ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1343">1343</a></td> + <td>DR</td> <td>Sequencing of non-class initialization</td> <td class="none" align="center">Unknown</td> </tr> @@ -7919,7 +7919,7 @@ </tr> <tr id="1351"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1351">1351</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Problems with implicitly-declared <I>exception-specification</I>s</td> <td class="none" align="center">Unknown</td> </tr> @@ -7949,7 +7949,7 @@ </tr> <tr id="1356"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1356">1356</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Exception specifications of copy assignment operators with virtual bases</td> <td class="none" align="center">Unknown</td> </tr> @@ -8159,7 +8159,7 @@ </tr> <tr id="1391"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1391">1391</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Conversions to parameter types with non-deduced template arguments</td> <td class="partial" align="center">Partial</td> </tr> @@ -8182,8 +8182,8 @@ <td class="none" align="center">Unknown</td> </tr> <tr id="1395"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1395">1395</a></td> - <td>ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1395">1395</a></td> + <td>DR</td> <td>Partial ordering of variadic templates reconsidered</td> <td class="none" align="center">Unknown</td> </tr> @@ -8195,7 +8195,7 @@ </tr> <tr id="1397"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1397">1397</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Class completeness in non-static data member initializers</td> <td class="none" align="center">Unknown</td> </tr> @@ -8489,7 +8489,7 @@ </tr> <tr id="1446"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1446">1446</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Member function with no <I>ref-qualifier</I> and non-member function with rvalue reference</td> <td class="none" align="center">Unknown</td> </tr> @@ -8603,7 +8603,7 @@ </tr> <tr id="1465"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1465">1465</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>noexcept</TT> and <TT>std::bad_array_new_length</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -8615,7 +8615,7 @@ </tr> <tr id="1467"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1467">1467</a></td> - <td>DRWP</td> + <td>CD4</td> <td>List-initialization of aggregate from same-type object</td> <td class="full" align="center">Clang 3.7 (C++11 onwards)</td> </tr> @@ -8717,7 +8717,7 @@ </tr> <tr id="1484"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1484">1484</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Unused local classes of function templates</td> <td class="none" align="center">Unknown</td> </tr> @@ -8753,7 +8753,7 @@ </tr> <tr id="1490"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1490">1490</a></td> - <td>DRWP</td> + <td>CD4</td> <td>List-initialization from a string literal</td> <td class="full" align="center">Clang 3.7 (C++11 onwards)</td> </tr> @@ -8765,7 +8765,7 @@ </tr> <tr id="1492"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1492">1492</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Exception specifications on template destructors</td> <td class="none" align="center">Unknown</td> </tr> @@ -8789,7 +8789,7 @@ </tr> <tr id="1496"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1496">1496</a></td> - <td>DR</td> + <td>CD4</td> <td>Triviality with deleted and missing default constructors</td> <td class="none" align="center">Unknown</td> </tr> @@ -8921,7 +8921,7 @@ </tr> <tr id="1518"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1518">1518</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Explicit default constructors and copy-list-initialization</td> <td class="svn" align="center">Clang 4</td> </tr> @@ -9125,7 +9125,7 @@ </tr> <tr id="1552"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1552">1552</a></td> - <td>DRWP</td> + <td>CD4</td> <td><I>exception-specification</I>s and defaulted special member functions</td> <td class="none" align="center">Unknown</td> </tr> @@ -9161,7 +9161,7 @@ </tr> <tr id="1558"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1558">1558</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Unused arguments in alias template specializations</td> <td class="none" align="center">Unknown</td> </tr> @@ -9201,11 +9201,11 @@ <td>Template argument deduction from an initializer list</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="1565"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1565">1565</a></td> - <td>drafting</td> + <tr id="1565"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1565">1565</a></td> + <td>NAD</td> <td>Copy elision and lifetime of <TT>initializer_list</TT> underlying array</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="1566"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1566">1566</a></td> @@ -9239,19 +9239,19 @@ </tr> <tr id="1571"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1571">1571</a></td> - <td>DRWP</td> + <td>CD4</td> <td>cv-qualification for indirect reference binding via conversion function</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1572"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1572">1572</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Incorrect example for rvalue reference binding via conversion function</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1573"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1573">1573</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Inherited constructor characteristics</td> <td class="full" align="center">Clang 3.9</td> </tr> @@ -9347,7 +9347,7 @@ </tr> <tr id="1589"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1589">1589</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Ambiguous ranking of list-initialization sequences</td> <td class="full" align="center">Clang 3.7 (C++11 onwards)</td> </tr> @@ -9359,7 +9359,7 @@ </tr> <tr id="1591"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1591">1591</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Deducing array bound and element type from initializer list</td> <td class="none" align="center">Unknown</td> </tr> @@ -9389,7 +9389,7 @@ </tr> <tr id="1596"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1596">1596</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Non-array objects as <TT>array[1]</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -9413,7 +9413,7 @@ </tr> <tr id="1600"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1600">1600</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Erroneous reference initialization in example</td> <td class="none" align="center">Unknown</td> </tr> @@ -9431,7 +9431,7 @@ </tr> <tr id="1603"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1603">1603</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Errors resulting from giving unnamed namespaces internal linkage</td> <td class="none" align="center">Unknown</td> </tr> @@ -9497,13 +9497,13 @@ </tr> <tr id="1614"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1614">1614</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Address of pure virtual function vs odr-use</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1615"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1615">1615</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Alignment of types, variables, and members</td> <td class="none" align="center">Unknown</td> </tr> @@ -9543,11 +9543,11 @@ <td>Member initializers in anonymous unions</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="1622"> + <tr id="1622"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1622">1622</a></td> - <td>drafting</td> + <td>ready</td> <td>Empty aggregate initializer for union</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="1623"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1623">1623</a></td> @@ -9593,13 +9593,13 @@ </tr> <tr id="1630"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1630">1630</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Multiple default constructor templates</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1631"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1631">1631</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Incorrect overload resolution for single-element <I>initializer-list</I></td> <td class="full" align="center">Clang 3.7</td> </tr> @@ -9611,7 +9611,7 @@ </tr> <tr id="1633"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1633">1633</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Copy-initialization in member initialization</td> <td class="none" align="center">Unknown</td> </tr> @@ -9641,13 +9641,13 @@ </tr> <tr id="1638"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1638">1638</a></td> - <td>DR</td> + <td>CD4</td> <td>Declaring an explicit specialization of a scoped enumeration</td> <td class="full" align="center">Yes</td> </tr> <tr id="1639"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1639">1639</a></td> - <td>DRWP</td> + <td>CD4</td> <td><I>exception-specification</I>s and pointer/pointer-to-member expressions</td> <td class="none" align="center">Unknown</td> </tr> @@ -9683,7 +9683,7 @@ </tr> <tr id="1645"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1645">1645</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Identical inheriting constructors via default arguments</td> <td class="full" align="center">Clang 3.9</td> </tr> @@ -9725,13 +9725,13 @@ </tr> <tr id="1652"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1652">1652</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Object addresses in <TT>constexpr</TT> expressions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1653"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1653">1653</a></td> - <td>WP</td> + <td>CD4</td> <td>Removing deprecated increment of <TT>bool</TT></td> <td class="svn" align="center">Clang 4 (C++17 onwards)</td> </tr> @@ -9755,7 +9755,7 @@ </tr> <tr id="1657"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1657">1657</a></td> - <td>WP</td> + <td>CD4</td> <td>Attributes for namespaces and enumerators</td> <td class="none" align="center">Unknown</td> </tr> @@ -9845,7 +9845,7 @@ </tr> <tr id="1672"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1672">1672</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Layout compatibility with multiple empty bases</td> <td class="none" align="center">Unknown</td> </tr> @@ -9873,11 +9873,11 @@ <td><TT>auto</TT> return type for allocation and deallocation functions</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="1677"> + <tr id="1677"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1677">1677</a></td> - <td>drafting</td> + <td>ready</td> <td>Constant initialization via aggregate initialization</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="1678"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1678">1678</a></td> @@ -9911,7 +9911,7 @@ </tr> <tr id="1683"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1683">1683</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Incorrect example after <TT>constexpr</TT> changes</td> <td class="none" align="center">Unknown</td> </tr> @@ -9929,7 +9929,7 @@ </tr> <tr id="1686"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1686">1686</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Which variables are “explicitly declared <TT>const</TT>?”</td> <td class="none" align="center">Unknown</td> </tr> @@ -9977,7 +9977,7 @@ </tr> <tr id="1694"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1694">1694</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Restriction on reference to temporary as a constant expression</td> <td class="none" align="center">Unknown</td> </tr> @@ -9989,7 +9989,7 @@ </tr> <tr id="1696"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1696">1696</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Temporary lifetime and non-static data member initializers</td> <td class="none" align="center">Unknown</td> </tr> @@ -10043,7 +10043,7 @@ </tr> <tr id="1705"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1705">1705</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Unclear specification of “more specialized”</td> <td class="none" align="center">Unknown</td> </tr> @@ -10061,7 +10061,7 @@ </tr> <tr id="1708"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1708">1708</a></td> - <td>DRWP</td> + <td>CD4</td> <td>overly-strict requirements for names with C language linkage</td> <td class="none" align="center">Unknown</td> </tr> @@ -10085,7 +10085,7 @@ </tr> <tr id="1712"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1712">1712</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>constexpr</TT> variable template declarations</td> <td class="none" align="center">Unknown</td> </tr> @@ -10103,7 +10103,7 @@ </tr> <tr id="1715"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1715">1715</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Access and inherited constructor templates</td> <td class="full" align="center">Clang 3.9</td> </tr> @@ -10127,7 +10127,7 @@ </tr> <tr id="1719"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1719">1719</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Layout compatibility and cv-qualification revisited</td> <td class="none" align="center">Unknown</td> </tr> @@ -10145,7 +10145,7 @@ </tr> <tr id="1722"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1722">1722</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Should lambda to function pointer conversion function be <TT>noexcept</TT>?</td> <td class="none" align="center">Unknown</td> </tr> @@ -10217,7 +10217,7 @@ </tr> <tr id="1734"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1734">1734</a></td> - <td>DR</td> + <td>CD4</td> <td>Nontrivial deleted copy functions</td> <td class="none" align="center">Unknown</td> </tr> @@ -10229,7 +10229,7 @@ </tr> <tr id="1736"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1736">1736</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Inheriting constructor templates in a local class</td> <td class="full" align="center">Clang 3.9</td> </tr> @@ -10277,7 +10277,7 @@ </tr> <tr id="1744"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1744">1744</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Unordered initialization for variable template specializations</td> <td class="none" align="center">Unknown</td> </tr> @@ -10301,7 +10301,7 @@ </tr> <tr id="1748"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1748">1748</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Placement new with a null pointer</td> <td class="full" align="center">Clang 3.7</td> </tr> @@ -10313,25 +10313,25 @@ </tr> <tr id="1750"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1750">1750</a></td> - <td>DRWP</td> + <td>CD4</td> <td>“Argument” vs “parameter”</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1751"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1751">1751</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Non-trivial operations vs non-trivial initialization</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1752"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1752">1752</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Right-recursion in <I>mem-initializer-list</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="1753"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1753">1753</a></td> - <td>DRWP</td> + <td>CD4</td> <td><I>decltype-specifier</I> in <I>nested-name-specifier</I> of destructor</td> <td class="none" align="center">Unknown</td> </tr> @@ -10349,19 +10349,19 @@ </tr> <tr id="1756"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1756">1756</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Direct-list-initialization of a non-class object</td> <td class="full" align="center">Clang 3.7</td> </tr> <tr id="1757"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1757">1757</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Const integral subobjects</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1758"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1758">1758</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Explicit conversion in copy/move list initialization</td> <td class="full" align="center">Clang 3.7</td> </tr> @@ -10409,7 +10409,7 @@ </tr> <tr id="1766"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1766">1766</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Values outside the range of the values of an enumeration</td> <td class="none" align="center">Unknown</td> </tr> @@ -10457,7 +10457,7 @@ </tr> <tr id="1774"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1774">1774</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Discrepancy between subobject destruction and stack unwinding</td> <td class="none" align="center">Unknown</td> </tr> @@ -10469,13 +10469,13 @@ </tr> <tr id="1776"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1776">1776</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Replacement of class objects containing reference members</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1777"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1777">1777</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Empty pack expansion in <I>dynamic-exception-specification</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -10487,13 +10487,13 @@ </tr> <tr id="1779"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1779">1779</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Type dependency of <TT>__func__</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr id="1780"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1780">1780</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Explicit instantiation/specialization of generic lambda <TT>operator()</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -10505,7 +10505,7 @@ </tr> <tr id="1782"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1782">1782</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Form of initialization for <TT>nullptr_t</TT> to <TT>bool</TT> conversion</td> <td class="none" align="center">Unknown</td> </tr> @@ -10541,7 +10541,7 @@ </tr> <tr id="1788"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1788">1788</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Sized deallocation of array of non-class type</td> <td class="none" align="center">Unknown</td> </tr> @@ -10559,7 +10559,7 @@ </tr> <tr id="1791"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1791">1791</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Incorrect restrictions on <I>cv-qualifier-seq</I> and <I>ref-qualifier</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -10571,7 +10571,7 @@ </tr> <tr id="1793"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1793">1793</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>thread_local</TT> in explicit specializations</td> <td class="none" align="center">Unknown</td> </tr> @@ -10583,19 +10583,19 @@ </tr> <tr id="1795"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1795">1795</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Disambiguating <I>original-namespace-definition</I> and <I>extension-namespace-definition</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="1796"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1796">1796</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Is all-bits-zero for null characters a meaningful requirement?</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1797"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1797">1797</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Are all bit patterns of <TT>unsigned char</TT> distinct numbers?</td> <td class="none" align="center">Unknown</td> </tr> @@ -10607,13 +10607,13 @@ </tr> <tr id="1799"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1799">1799</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>mutable</TT> and non-explicit const qualification</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1800"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1800">1800</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Pointer to member of nested anonymous union</td> <td class="none" align="center">Unknown</td> </tr> @@ -10625,7 +10625,7 @@ </tr> <tr id="1802"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1802">1802</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>char16_t</TT> string literals and surrogate pairs</td> <td class="none" align="center">Unknown</td> </tr> @@ -10637,25 +10637,25 @@ </tr> <tr id="1804"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1804">1804</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Partial specialization and friendship</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1805"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1805">1805</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Conversions of array operands in <I>conditional-expression</I>s</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1806"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1806">1806</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Virtual bases and move-assignment</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1807"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1807">1807</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Order of destruction of array elements after an exception</td> <td class="none" align="center">Unknown</td> </tr> @@ -10667,19 +10667,19 @@ </tr> <tr id="1809"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1809">1809</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Narrowing and template argument deduction</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1810"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1810">1810</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Invalid <I>ud-suffix</I>es</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1811"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1811">1811</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Lookup of deallocation function in a virtual destructor definition</td> <td class="none" align="center">Unknown</td> </tr> @@ -10691,25 +10691,25 @@ </tr> <tr id="1813"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1813">1813</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Direct vs indirect bases in standard-layout classes</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1814"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1814">1814</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Default arguments in <I>lambda-expression</I>s</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1815"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1815">1815</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Lifetime extension in aggregate initialization</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1816"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1816">1816</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Unclear specification of bit-field values</td> <td class="none" align="center">Unknown</td> </tr> @@ -10727,7 +10727,7 @@ </tr> <tr id="1819"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1819">1819</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Acceptable scopes for definition of partial specialization</td> <td class="none" align="center">Unknown</td> </tr> @@ -10751,19 +10751,19 @@ </tr> <tr id="1823"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1823">1823</a></td> - <td>DRWP</td> + <td>CD4</td> <td>String literal uniqueness in inline functions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1824"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1824">1824</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Completeness of return type vs point of instantiation</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1825"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1825">1825</a></td> - <td>ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1825">1825</a></td> + <td>DR</td> <td>Partial ordering between variadic and non-variadic function templates</td> <td class="none" align="center">Unknown</td> </tr> @@ -10793,7 +10793,7 @@ </tr> <tr id="1830"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1830">1830</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Repeated specifiers</td> <td class="none" align="center">Unknown</td> </tr> @@ -10805,7 +10805,7 @@ </tr> <tr id="1832"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1832">1832</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Casting to incomplete enumeration</td> <td class="none" align="center">Unknown</td> </tr> @@ -10817,7 +10817,7 @@ </tr> <tr id="1834"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1834">1834</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Constant initialization binding a reference to an xvalue</td> <td class="none" align="center">Unknown</td> </tr> @@ -10841,7 +10841,7 @@ </tr> <tr id="1838"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1838">1838</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Definition via <I>unqualified-id</I> and <I>using-declaration</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -10871,7 +10871,7 @@ </tr> <tr id="1843"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1843">1843</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Bit-field in conditional operator with <TT>throw</TT> operand</td> <td class="none" align="center">Unknown</td> </tr> @@ -10889,19 +10889,19 @@ </tr> <tr id="1846"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1846">1846</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Declaring explicitly-defaulted implicitly-deleted functions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1847"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1847">1847</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Clarifying compatibility during partial ordering</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1848"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1848">1848</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Parenthesized constructor and destructor declarators</td> <td class="none" align="center">Unknown</td> </tr> @@ -10913,19 +10913,19 @@ </tr> <tr id="1850"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1850">1850</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Differences between definition context and point of instantiation</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1851"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1851">1851</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>decltype(auto)</TT> in <I>new-expression</I>s</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1852"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1852">1852</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Wording issues regarding <TT>decltype(auto)</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -10961,7 +10961,7 @@ </tr> <tr id="1858"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1858">1858</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Comparing pointers to union members</td> <td class="none" align="center">Unknown</td> </tr> @@ -10971,15 +10971,15 @@ <td>UTF-16 in <TT>char16_t</TT> string literals</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="1860"> + <tr id="1860"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1860">1860</a></td> - <td>review</td> + <td>ready</td> <td>What is a “direct member?”</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="1861"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1861">1861</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Values of a bit-field</td> <td class="none" align="center">Unknown</td> </tr> @@ -10991,7 +10991,7 @@ </tr> <tr id="1863"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1863">1863</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Requirements on thrown object type to support <TT>std::current_exception()</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -11003,13 +11003,13 @@ </tr> <tr id="1865"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1865">1865</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Pointer arithmetic and multi-level qualification conversions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1866"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1866">1866</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Initializing variant members with non-trivial destructors</td> <td class="none" align="center">Unknown</td> </tr> @@ -11033,7 +11033,7 @@ </tr> <tr id="1870"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1870">1870</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Contradictory wording about definitions vs explicit specialization/instantiation</td> <td class="none" align="center">Unknown</td> </tr> @@ -11045,25 +11045,25 @@ </tr> <tr id="1872"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1872">1872</a></td> - <td>DR</td> + <td>CD4</td> <td>Instantiations of <TT>constexpr</TT> templates that cannot appear in constant expressions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1873"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1873">1873</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Protected member access from derived class friends</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1874"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1874">1874</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Type vs non-type template parameters with <TT>class</TT> keyword</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1875"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1875">1875</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Reordering declarations in class scope</td> <td class="none" align="center">Unknown</td> </tr> @@ -11075,13 +11075,13 @@ </tr> <tr id="1877"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1877">1877</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Return type deduction from <TT>return</TT> with no operand</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1878"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1878">1878</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>operator auto</TT> template</td> <td class="none" align="center">Unknown</td> </tr> @@ -11099,13 +11099,13 @@ </tr> <tr id="1881"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1881">1881</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Standard-layout classes and unnamed bit-fields</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1882"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1882">1882</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Reserved names without library use</td> <td class="none" align="center">Unknown</td> </tr> @@ -11123,25 +11123,25 @@ </tr> <tr id="1885"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1885">1885</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Return value of a function is underspecified</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1886"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1886">1886</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Language linkage for <TT>main()</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr id="1887"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1887">1887</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Problems with <TT>::</TT> as <I>nested-name-specifier</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="1888"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1888">1888</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Implicitly-declared default constructors and <TT>explicit</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -11159,13 +11159,13 @@ </tr> <tr id="1891"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1891">1891</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Move constructor/assignment for closure class</td> <td class="svn" align="center">Clang 4</td> </tr> <tr id="1892"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1892">1892</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Use of <TT>auto</TT> in function type</td> <td class="none" align="center">Unknown</td> </tr> @@ -11183,7 +11183,7 @@ </tr> <tr id="1895"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1895">1895</a></td> - <td>DR</td> + <td>CD4</td> <td>Deleted conversions in conditional operator operands</td> <td class="none" align="center">Unknown</td> </tr> @@ -11207,7 +11207,7 @@ </tr> <tr id="1899"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1899">1899</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Value-dependent constant expressions</td> <td class="none" align="center">Unknown</td> </tr> @@ -11225,13 +11225,13 @@ </tr> <tr id="1902"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1902">1902</a></td> - <td>DRWP</td> + <td>CD4</td> <td>What makes a conversion “otherwise ill-formed”?</td> <td class="full" align="center">Clang 3.7</td> </tr> <tr id="1903"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1903">1903</a></td> - <td>DRWP</td> + <td>CD4</td> <td>What declarations are introduced by a non-member <I>using-declaration</I>?</td> <td class="none" align="center">Unknown</td> </tr> @@ -11267,7 +11267,7 @@ </tr> <tr id="1909"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1909">1909</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Member class template with the same name as the class</td> <td class="full" align="center">Yes</td> </tr> @@ -11279,7 +11279,7 @@ </tr> <tr id="1911"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1911">1911</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>constexpr</TT> constructor with non-literal base class</td> <td class="none" align="center">Unknown</td> </tr> @@ -11309,7 +11309,7 @@ </tr> <tr id="1916"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1916">1916</a></td> - <td>DRWP</td> + <td>CD4</td> <td>“Same cv-unqualified type”</td> <td class="none" align="center">Unknown</td> </tr> @@ -11333,7 +11333,7 @@ </tr> <tr id="1920"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1920">1920</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Qualification mismatch in <I>pseudo-destructor-name</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -11345,7 +11345,7 @@ </tr> <tr id="1922"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1922">1922</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Injected class template names and default arguments</td> <td class="none" align="center">Unknown</td> </tr> @@ -11357,19 +11357,19 @@ </tr> <tr class="open" id="1924"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1924">1924</a></td> - <td>drafting</td> + <td>review</td> <td>Definition of “literal” and kinds of literals</td> <td align="center">Not resolved</td> </tr> <tr id="1925"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1925">1925</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Bit-field prvalues</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1926"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1926">1926</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Potential results of subscript operator</td> <td class="none" align="center">Unknown</td> </tr> @@ -11387,13 +11387,13 @@ </tr> <tr id="1929"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1929">1929</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>template</TT> keyword following namespace <I>nested-name-specifier</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="1930"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1930">1930</a></td> - <td>DR</td> + <td>CD4</td> <td><I>init-declarator-list</I> vs <I>member-declarator-list</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -11405,7 +11405,7 @@ </tr> <tr id="1932"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1932">1932</a></td> - <td>DR</td> + <td>CD4</td> <td>Bit-field results of conditional operators</td> <td class="none" align="center">Unknown</td> </tr> @@ -11453,19 +11453,19 @@ </tr> <tr id="1940"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1940">1940</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>static_assert</TT> in anonymous unions</td> <td class="full" align="center">Yes</td> </tr> <tr id="1941"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1941">1941</a></td> - <td>DRWP</td> + <td>CD4</td> <td>SFINAE and inherited constructor default arguments</td> <td class="full" align="center">Clang 3.9</td> </tr> <tr id="1942"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1942">1942</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Incorrect reference to <I>trailing-return-type</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -11489,7 +11489,7 @@ </tr> <tr id="1946"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1946">1946</a></td> - <td>WP</td> + <td>CD4</td> <td><I>exception-specification</I>s vs pointer dereference</td> <td class="none" align="center">Unknown</td> </tr> @@ -11507,7 +11507,7 @@ </tr> <tr id="1949"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1949">1949</a></td> - <td>DRWP</td> + <td>CD4</td> <td>“sequenced after” instead of “sequenced before”</td> <td class="none" align="center">Unknown</td> </tr> @@ -11519,13 +11519,13 @@ </tr> <tr id="1951"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1951">1951</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Cv-qualification and literal types</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1952"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1952">1952</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Constant expressions and library undefined behavior</td> <td class="none" align="center">Unknown</td> </tr> @@ -11543,13 +11543,13 @@ </tr> <tr id="1955"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1955">1955</a></td> - <td>DR</td> + <td>CD4</td> <td><TT>#elif</TT> with invalid controlling expression</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1956"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1956">1956</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Reuse of storage of automatic variables</td> <td class="none" align="center">Unknown</td> </tr> @@ -11561,13 +11561,13 @@ </tr> <tr id="1958"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1958">1958</a></td> - <td>DRWP</td> + <td>CD4</td> <td><TT>decltype(auto)</TT> with parenthesized initializer</td> <td class="none" align="center">Unknown</td> </tr> <tr id="1959"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1959">1959</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Inadvertently inherited copy constructor</td> <td class="full" align="center">Clang 3.9</td> </tr> @@ -11578,8 +11578,8 @@ <td class="none" align="center">Unknown</td> </tr> <tr id="1961"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1961">1961</a></td> - <td>ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1961">1961</a></td> + <td>DR</td> <td>Potentially-concurrent actions within a signal handler</td> <td class="none" align="center">Unknown</td> </tr> @@ -11591,7 +11591,7 @@ </tr> <tr id="1963"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1963">1963</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Implementation-defined identifier characters</td> <td class="none" align="center">Unknown</td> </tr> @@ -11609,13 +11609,13 @@ </tr> <tr id="1966"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1966">1966</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Colon following enumeration <I>elaborated-type-specifier</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="1967"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1967">1967</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Temporary lifetime and move-elision</td> <td class="none" align="center">Unknown</td> </tr> @@ -11639,7 +11639,7 @@ </tr> <tr id="1971"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1971">1971</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Unclear disambiguation of destructor and <TT>operator~</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -11663,7 +11663,7 @@ </tr> <tr id="1975"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1975">1975</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Permissible declarations for <I>exception-specification</I>s</td> <td class="none" align="center">Unknown</td> </tr> @@ -11681,7 +11681,7 @@ </tr> <tr id="1978"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1978">1978</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Redundant description of explicit constructor use</td> <td class="none" align="center">Unknown</td> </tr> @@ -11699,7 +11699,7 @@ </tr> <tr id="1981"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1981">1981</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Implicit contextual conversions and <TT>explicit</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -11741,7 +11741,7 @@ </tr> <tr id="1988"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1988">1988</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Ambiguity between dependent and non-dependent bases in implicit member access</td> <td class="none" align="center">Unknown</td> </tr> @@ -11753,19 +11753,19 @@ </tr> <tr id="1990"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1990">1990</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Ambiguity due to optional <I>decl-specifier-seq</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="1991"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1991">1991</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Inheriting constructors vs default arguments</td> <td class="full" align="center">Clang 3.9</td> </tr> <tr id="1992"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1992">1992</a></td> - <td>DR</td> + <td>CD4</td> <td><TT>new (std::nothrow) int[N]</TT> can throw</td> <td class="none" align="center">Unknown</td> </tr> @@ -11783,7 +11783,7 @@ </tr> <tr id="1995"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1995">1995</a></td> - <td>WP</td> + <td>CD4</td> <td><I>exception-specification</I>s and non-type template parameters</td> <td class="none" align="center">Unknown</td> </tr> @@ -11807,19 +11807,19 @@ </tr> <tr id="1999"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1999">1999</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Representation of source characters as universal-character-names</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2000"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2000">2000</a></td> - <td>DRWP</td> + <td>CD4</td> <td><I>header-name</I> outside <TT>#include</TT> directive</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2001"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2001">2001</a></td> - <td>DR</td> + <td>CD4</td> <td><I>non-directive</I> is underspecified</td> <td class="none" align="center">Unknown</td> </tr> @@ -11837,7 +11837,7 @@ </tr> <tr id="2004"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2004">2004</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Unions with mutable members in constant expressions</td> <td class="none" align="center">Unknown</td> </tr> @@ -11849,7 +11849,7 @@ </tr> <tr id="2006"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2006">2006</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Cv-qualified <TT>void</TT> types</td> <td class="none" align="center">Unknown</td> </tr> @@ -11861,7 +11861,7 @@ </tr> <tr id="2008"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2008">2008</a></td> - <td>DR</td> + <td>CD4</td> <td>Default <I>template-argument</I>s underspecified</td> <td class="none" align="center">Unknown</td> </tr> @@ -11873,7 +11873,7 @@ </tr> <tr id="2010"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2010">2010</a></td> - <td>WP</td> + <td>CD4</td> <td><I>exception-specification</I>s and conversion operators</td> <td class="none" align="center">Unknown</td> </tr> @@ -11885,7 +11885,7 @@ </tr> <tr id="2012"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2012">2012</a></td> - <td>DR</td> + <td>CD4</td> <td>Lifetime of references</td> <td class="none" align="center">Unknown</td> </tr> @@ -11903,19 +11903,19 @@ </tr> <tr id="2015"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2015">2015</a></td> - <td>DRWP</td> + <td>CD4</td> <td>odr-use of deleted virtual functions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2016"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2016">2016</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Confusing wording in description of conversion function</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2017"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2017">2017</a></td> - <td>DR</td> + <td>CD4</td> <td>Flowing off end is not equivalent to no-expression return</td> <td class="none" align="center">Unknown</td> </tr> @@ -11927,7 +11927,7 @@ </tr> <tr id="2019"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2019">2019</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Member references omitted from description of storage duration</td> <td class="none" align="center">Unknown</td> </tr> @@ -11945,7 +11945,7 @@ </tr> <tr id="2022"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2022">2022</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Copy elision in constant expressions</td> <td class="none" align="center">Unknown</td> </tr> @@ -11957,7 +11957,7 @@ </tr> <tr id="2024"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2024">2024</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Dependent types and unexpanded parameter packs</td> <td class="none" align="center">Unknown</td> </tr> @@ -11969,13 +11969,13 @@ </tr> <tr id="2026"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2026">2026</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Zero-initialization and <TT>constexpr</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2027"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2027">2027</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Unclear requirements for multiple <TT>alignas</TT> specifiers</td> <td class="none" align="center">Unknown</td> </tr> @@ -11999,19 +11999,19 @@ </tr> <tr id="2031"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2031">2031</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Missing incompatibility for <TT>&&</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2032"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2032">2032</a></td> - <td>DR</td> + <td>CD4</td> <td>Default <I>template-argument</I>s of variable templates</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2033"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2033">2033</a></td> - <td>DR</td> + <td>CD4</td> <td>Redundant restriction on partial specialization argument</td> <td class="none" align="center">Unknown</td> </tr> @@ -12041,25 +12041,25 @@ </tr> <tr id="2038"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2038">2038</a></td> - <td>DR</td> + <td>CD4</td> <td>Document C++14 incompatibility of new braced deduction rule</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2039"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2039">2039</a></td> - <td>DR</td> + <td>CD4</td> <td>Constant conversions to <TT>bool</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2040"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2040">2040</a></td> - <td>DR</td> + <td>CD4</td> <td><I>trailing-return-type</I> no longer ambiguous</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2041"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2041">2041</a></td> - <td>DR</td> + <td>CD4</td> <td>Namespace for explicit class template specialization</td> <td class="none" align="center">Unknown</td> </tr> @@ -12077,7 +12077,7 @@ </tr> <tr id="2044"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2044">2044</a></td> - <td>DR</td> + <td>CD4</td> <td><TT>decltype(auto)</TT> and <TT>void</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -12095,7 +12095,7 @@ </tr> <tr id="2047"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2047">2047</a></td> - <td>DR</td> + <td>CD4</td> <td>Coordinating “throws anything” specifications</td> <td class="none" align="center">Unknown</td> </tr> @@ -12125,7 +12125,7 @@ </tr> <tr id="2052"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2052">2052</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Template argument deduction vs overloaded operators</td> <td class="none" align="center">Unknown</td> </tr> @@ -12179,7 +12179,7 @@ </tr> <tr id="2061"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2061">2061</a></td> - <td>DR</td> + <td>CD4</td> <td>Inline namespace after simplifications</td> <td class="none" align="center">Unknown</td> </tr> @@ -12191,13 +12191,13 @@ </tr> <tr id="2063"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2063">2063</a></td> - <td>DR</td> + <td>CD4</td> <td>Type/nontype hiding in class scope</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2064"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2064">2064</a></td> - <td>DR</td> + <td>CD4</td> <td>Conflicting specifications for dependent <I>decltype-specifier</I>s</td> <td class="none" align="center">Unknown</td> </tr> @@ -12209,7 +12209,7 @@ </tr> <tr id="2066"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2066">2066</a></td> - <td>DR</td> + <td>CD4</td> <td>Does type-dependent imply value-dependent?</td> <td class="none" align="center">Unknown</td> </tr> @@ -12221,13 +12221,13 @@ </tr> <tr id="2068"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2068">2068</a></td> - <td>DR</td> + <td>CD4</td> <td>When can/must a defaulted virtual destructor be defined?</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2069"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2069">2069</a></td> - <td>DR</td> + <td>CD4</td> <td>Do destructors have names?</td> <td class="none" align="center">Unknown</td> </tr> @@ -12239,7 +12239,7 @@ </tr> <tr id="2071"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2071">2071</a></td> - <td>DR</td> + <td>CD4</td> <td><TT>typedef</TT> with no declarator</td> <td class="none" align="center">Unknown</td> </tr> @@ -12263,13 +12263,13 @@ </tr> <tr id="2075"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2075">2075</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Passing short initializer lists to array reference parameters</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2076"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2076">2076</a></td> - <td>DRWP</td> + <td>CD4</td> <td>List-initialization of arguments for constructor parameters</td> <td class="none" align="center">Unknown</td> </tr> @@ -12287,7 +12287,7 @@ </tr> <tr id="2079"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2079">2079</a></td> - <td>DR</td> + <td>CD4</td> <td><TT>[[</TT> appearing in a <I>balanced-token-seq</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -12305,7 +12305,7 @@ </tr> <tr id="2082"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2082">2082</a></td> - <td>DR</td> + <td>CD4</td> <td>Referring to parameters in unevaluated operands of default arguments</td> <td class="none" align="center">Unknown</td> </tr> @@ -12317,13 +12317,13 @@ </tr> <tr id="2084"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2084">2084</a></td> - <td>DR</td> + <td>CD4</td> <td>NSDMIs and deleted union default constructors</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2085"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2085">2085</a></td> - <td>DR</td> + <td>CD4</td> <td>Invalid example of adding special member function via default argument</td> <td class="none" align="center">Unknown</td> </tr> @@ -12359,7 +12359,7 @@ </tr> <tr id="2091"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2091">2091</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Deducing reference non-type template arguments</td> <td class="none" align="center">Unknown</td> </tr> @@ -12371,25 +12371,25 @@ </tr> <tr id="2093"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2093">2093</a></td> - <td>DR</td> + <td>CD4</td> <td>Qualification conversion for pointer-to-member handler matching</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2094"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2094">2094</a></td> - <td>tentatively ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2094">2094</a></td> + <td>DR</td> <td>Trivial copy/move constructor for class with volatile member</td> - <td class="none" align="center">Unknown</td> + <td class="full" align="center">Clang 5.0</td> </tr> <tr id="2095"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2095">2095</a></td> - <td>DR</td> + <td>CD4</td> <td>Capturing rvalue references to functions by copy</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2096"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2096">2096</a></td> - <td>DR</td> + <td>CD4</td> <td>Constraints on literal unions</td> <td class="none" align="center">Unknown</td> </tr> @@ -12401,25 +12401,25 @@ </tr> <tr id="2098"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2098">2098</a></td> - <td>DR</td> + <td>CD4</td> <td>Is <TT>uncaught_exceptions()</TT> per-thread?</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2099"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2099">2099</a></td> - <td>DR</td> + <td>CD4</td> <td>Inferring the bound of an array static data member</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2100"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2100">2100</a></td> - <td>tentatively ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2100">2100</a></td> + <td>DR</td> <td>Value-dependent address of static data member of class template</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2101"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2101">2101</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Incorrect description of type- and value-dependence</td> <td class="none" align="center">Unknown</td> </tr> @@ -12437,7 +12437,7 @@ </tr> <tr id="2104"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2104">2104</a></td> - <td>DR</td> + <td>CD4</td> <td>Internal-linkage <TT>constexpr</TT> references and ODR requirements</td> <td class="none" align="center">Unknown</td> </tr> @@ -12449,13 +12449,13 @@ </tr> <tr id="2106"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2106">2106</a></td> - <td>DR</td> + <td>CD4</td> <td>Unclear restrictions on use of function-type template arguments</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2107"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2107">2107</a></td> - <td>DR</td> + <td>CD4</td> <td>Lifetime of temporaries for default arguments in array copying</td> <td class="none" align="center">Unknown</td> </tr> @@ -12467,7 +12467,7 @@ </tr> <tr id="2109"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2109">2109</a></td> - <td>DR</td> + <td>CD4</td> <td>Value dependence underspecified</td> <td class="none" align="center">Unknown</td> </tr> @@ -12491,7 +12491,7 @@ </tr> <tr id="2113"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2113">2113</a></td> - <td>DR</td> + <td>CD4</td> <td>Incompete specification of types for declarators</td> <td class="none" align="center">Unknown</td> </tr> @@ -12533,7 +12533,7 @@ </tr> <tr id="2120"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2120">2120</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Array as first non-static data member in standard-layout class</td> <td class="none" align="center">Unknown</td> </tr> @@ -12545,7 +12545,7 @@ </tr> <tr id="2122"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2122">2122</a></td> - <td>DR</td> + <td>CD4</td> <td>Glvalues of <TT>void</TT> type</td> <td class="none" align="center">Unknown</td> </tr> @@ -12557,7 +12557,7 @@ </tr> <tr id="2124"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2124">2124</a></td> - <td>DR</td> + <td>CD4</td> <td>Signature of constructor template</td> <td class="none" align="center">Unknown</td> </tr> @@ -12587,13 +12587,13 @@ </tr> <tr id="2129"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2129">2129</a></td> - <td>DR</td> + <td>CD4</td> <td>Non-object prvalues and constant expressions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2130"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2130">2130</a></td> - <td>DR</td> + <td>CD4</td> <td>Over-aligned types in <I>new-expression</I>s</td> <td class="none" align="center">Unknown</td> </tr> @@ -12635,7 +12635,7 @@ </tr> <tr id="2137"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2137">2137</a></td> - <td>DRWP</td> + <td>CD4</td> <td>List-initialization from object of same type</td> <td class="none" align="center">Unknown</td> </tr> @@ -12653,13 +12653,13 @@ </tr> <tr id="2140"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2140">2140</a></td> - <td>DR</td> + <td>CD4</td> <td>Lvalue-to-rvalue conversion of <TT>std::nullptr_t</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2141"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2141">2141</a></td> - <td>DR</td> + <td>CD4</td> <td>Ambiguity in <I>new-expression</I> with <I>elaborated-type-specifier</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -12670,8 +12670,8 @@ <td class="none" align="center">Unknown</td> </tr> <tr id="2143"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2143">2143</a></td> - <td>ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2143">2143</a></td> + <td>DR</td> <td>Value-dependency via injected-class-name</td> <td class="none" align="center">Unknown</td> </tr> @@ -12683,19 +12683,19 @@ </tr> <tr id="2145"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2145">2145</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Parenthesized declarator in function definition</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2146"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2146">2146</a></td> - <td>DR</td> + <td>CD4</td> <td>Scalar object vs memory location in definition of “unsequenced”</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2147"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2147">2147</a></td> - <td>DR</td> + <td>CD4</td> <td>Initializer-list arguments and pack deduction</td> <td class="none" align="center">Unknown</td> </tr> @@ -12731,31 +12731,31 @@ </tr> <tr id="2153"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2153">2153</a></td> - <td>DR</td> + <td>CD4</td> <td><I>pure-specifier</I> in friend declaration</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2154"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2154">2154</a></td> - <td>DR</td> + <td>CD4</td> <td>Ambiguity of <I>pure-specifier</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2155"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2155">2155</a></td> - <td>ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2155">2155</a></td> + <td>DR</td> <td>Defining classes and enumerations via <I>using-declaration</I>s</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2156"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2156">2156</a></td> - <td>DR</td> + <td>CD4</td> <td>Definition of enumeration declared by <I>using-declaration</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2157"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2157">2157</a></td> - <td>DR</td> + <td>CD4</td> <td>Further disambiguation of enumeration <I>elaborated-type-specifier</I></td> <td class="none" align="center">Unknown</td> </tr> @@ -12791,7 +12791,7 @@ </tr> <tr id="2163"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2163">2163</a></td> - <td>DR</td> + <td>CD4</td> <td>Labels in <TT>constexpr</TT> functions</td> <td class="none" align="center">Unknown</td> </tr> @@ -12815,7 +12815,7 @@ </tr> <tr id="2167"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2167">2167</a></td> - <td>DR</td> + <td>CD4</td> <td>Non-member references with lifetimes within the current evaluation</td> <td class="none" align="center">Unknown</td> </tr> @@ -12839,7 +12839,7 @@ </tr> <tr id="2171"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2171">2171</a></td> - <td>DRWP</td> + <td>CD4</td> <td>Triviality of copy constructor with less-qualified parameter</td> <td class="none" align="center">Unknown</td> </tr> @@ -12855,21 +12855,21 @@ <td>Partial specialization with non-deduced contexts</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2174"> + <tr id="2174"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2174">2174</a></td> - <td>drafting</td> + <td>ready</td> <td>Unclear rules for friend definitions in templates</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="2175"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2175">2175</a></td> - <td>DR</td> + <td>CD4</td> <td>Ambiguity with attribute in conversion operator declaration</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2176"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2176">2176</a></td> - <td>DR</td> + <td>CD4</td> <td>Destroying the returned object when a destructor throws</td> <td class="none" align="center">Unknown</td> </tr> @@ -12893,7 +12893,7 @@ </tr> <tr id="2180"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2180">2180</a></td> - <td>DR</td> + <td>CD4</td> <td>Virtual bases in destructors and defaulted assignment operators</td> <td class="full" align="center">Yes</td> </tr> @@ -12915,11 +12915,11 @@ <td>Problems in description of potential exceptions</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2184"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2184">2184</a></td> - <td>review</td> + <tr id="2184"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2184">2184</a></td> + <td>CD4</td> <td>Missing C compatibility entry for decrement of <TT>bool</TT></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2185"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2185">2185</a></td> @@ -12957,11 +12957,11 @@ <td>Insufficient specification of <TT>__has_include</TT></td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2191"> + <tr id="2191"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2191">2191</a></td> - <td>open</td> + <td>ready</td> <td>Incorrect result for <TT>noexcept(typeid(v))</TT></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2192"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2192">2192</a></td> @@ -12975,11 +12975,11 @@ <td><TT>numeric_limits<int>::radix</TT> and <TT>digits</TT></td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2194"> + <tr id="2194"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2194">2194</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Impossible case in list initialization</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2195"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2195">2195</a></td> @@ -12999,11 +12999,11 @@ <td>Overload resolution and deleted special member functions</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2198"> + <tr id="2198"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2198">2198</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Linkage of enumerators</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2199"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2199">2199</a></td> @@ -13017,11 +13017,11 @@ <td>Conversions in template argument deduction</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2201"> + <tr id="2201"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2201">2201</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Cv-qualification of array types</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2202"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2202">2202</a></td> @@ -13041,17 +13041,17 @@ <td>Naming delegated constructors</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2205"> + <tr id="2205"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2205">2205</a></td> - <td>open</td> + <td>ready</td> <td>Restrictions on use of <TT>alignas</TT></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2206"> + <tr id="2206"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2206">2206</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Composite type of object and function pointers</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2207"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2207">2207</a></td> @@ -13095,11 +13095,11 @@ <td>Forward declaration of partial specializations</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2214"> + <tr id="2214"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2214">2214</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Missing requirement on representation of integer values</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2215"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2215">2215</a></td> @@ -13119,23 +13119,23 @@ <td><TT>constexpr</TT> constructors for non-literal types</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2218"> + <tr id="2218"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2218">2218</a></td> - <td>open</td> + <td>ready</td> <td>Ambiguity and namespace aliases</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2219"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2219">2219</a></td> <td>open</td> <td>Dynamically-unreachable handlers</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2220"> + <tr id="2220"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2220">2220</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Hiding index variable in range-based <TT>for</TT></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2221"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2221">2221</a></td> @@ -13155,11 +13155,11 @@ <td>Multiple <TT>alignas</TT> specifiers</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2224"> + <tr id="2224"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2224">2224</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Member subobjects and base-class casts</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2225"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2225">2225</a></td> @@ -13301,7 +13301,7 @@ </tr> <tr class="open" id="2248"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2248">2248</a></td> - <td>open</td> + <td>review</td> <td>Problems with sized delete</td> <td align="center">Not resolved</td> </tr> @@ -13319,7 +13319,7 @@ </tr> <tr class="open" id="2251"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2251">2251</a></td> - <td>open</td> + <td>review</td> <td>Unreachable enumeration list-initialization</td> <td align="center">Not resolved</td> </tr> @@ -13365,11 +13365,11 @@ <td>Storage deallocation during period of destruction</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2259"> + <tr id="2259"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2259">2259</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Unclear context describing ambiguity</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2260"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2260">2260</a></td> @@ -13383,11 +13383,11 @@ <td>Explicit instantiation of in-class <TT>friend</TT> definition</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2262"> + <tr id="2262"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2262">2262</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Attributes for <I>asm-definition</I></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2263"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2263">2263</a></td> @@ -13438,11 +13438,47 @@ <td align="center">Not resolved</td> </tr> <tr id="2271"> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2271">2271</a></td> - <td>ready</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2271">2271</a></td> + <td>DR</td> <td>Aliasing <TT>this</TT></td> <td class="none" align="center">Unknown</td> </tr> + <tr class="open" id="2272"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2272">2272</a></td> + <td>open</td> + <td>Implicit initialization of aggregate members of reference type</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2273"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2273">2273</a></td> + <td>open</td> + <td>Inheriting constructors vs implicit default constructor</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2274"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2274">2274</a></td> + <td>open</td> + <td>Generic lambda capture vs constexpr if</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2275"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2275">2275</a></td> + <td>open</td> + <td>Type-dependence of function template</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2276"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2276">2276</a></td> + <td>open</td> + <td>Dependent <TT>noexcept</TT> and function type-dependence</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2277"> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2277">2277</a></td> + <td>open</td> + <td>Ambiguity inheriting constructors with default arguments</td> + <td align="center">Not resolved</td> + </tr> </table> </div> Index: test/SemaCXX/type-traits.cpp =================================================================== --- test/SemaCXX/type-traits.cpp +++ test/SemaCXX/type-traits.cpp @@ -1256,7 +1256,7 @@ int t33[F(__is_trivially_copyable(ExtDefaulted))]; int t34[T(__is_trivially_copyable(const int))]; - int t35[F(__is_trivially_copyable(volatile int))]; + int t35[T(__is_trivially_copyable(volatile int))]; } struct CStruct { Index: test/CXX/drs/dr4xx.cpp =================================================================== --- test/CXX/drs/dr4xx.cpp +++ test/CXX/drs/dr4xx.cpp @@ -1202,16 +1202,15 @@ long n2 = s2; } -namespace dr496 { // dr496: no +namespace dr496 { // dr496: sup dr2094 struct A { int n; }; struct B { volatile int n; }; int check1[ __is_trivially_copyable(const int) ? 1 : -1]; - int check2[!__is_trivially_copyable(volatile int) ? 1 : -1]; + // This checks the dr2094 behavior, not dr496 + int check2[ __is_trivially_copyable(volatile int) ? 1 : -1]; int check3[ __is_trivially_constructible(A, const A&) ? 1 : -1]; - // FIXME: This is wrong. int check4[ __is_trivially_constructible(B, const B&) ? 1 : -1]; int check5[ __is_trivially_assignable(A, const A&) ? 1 : -1]; - // FIXME: This is wrong. int check6[ __is_trivially_assignable(B, const B&) ? 1 : -1]; } Index: test/CXX/drs/dr20xx.cpp =================================================================== --- /dev/null +++ test/CXX/drs/dr20xx.cpp @@ -0,0 +1,30 @@ +// RUN: %clang_cc1 -std=c++98 -triple x86_64-unknown-unknown %s -verify -fexceptions -fcxx-exceptions -pedantic-errors \ +// RUN: -Wno-variadic-macros -Wno-c11-extensions +// RUN: %clang_cc1 -std=c++11 -triple x86_64-unknown-unknown %s -verify -fexceptions -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++14 -triple x86_64-unknown-unknown %s -verify -fexceptions -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++1z -triple x86_64-unknown-unknown %s -verify -fexceptions -fcxx-exceptions -pedantic-errors + +// expected-no-diagnostics + +#if __cplusplus < 201103L +#define static_assert(...) _Static_assert(__VA_ARGS__) +#endif + +namespace dr2094 { // dr2094: 5.0 + struct A { int n; }; + struct B { volatile int n; }; + static_assert(__is_trivially_copyable(volatile int), ""); + static_assert(__is_trivially_copyable(const volatile int), ""); + static_assert(__is_trivially_copyable(const volatile int[]), ""); + static_assert(__is_trivially_copyable(A), ""); + static_assert(__is_trivially_copyable(volatile A), ""); + static_assert(__is_trivially_copyable(const volatile A), ""); + static_assert(__is_trivially_copyable(const volatile A[]), ""); + static_assert(__is_trivially_copyable(B), ""); + + static_assert(__is_trivially_constructible(A, A const&), ""); + static_assert(__is_trivially_constructible(B, B const&), ""); + + static_assert(__is_trivially_assignable(A, const A&), ""); + static_assert(__is_trivially_assignable(B, const B&), ""); +} Index: lib/AST/Type.cpp =================================================================== --- lib/AST/Type.cpp +++ lib/AST/Type.cpp @@ -2114,18 +2114,15 @@ if (hasNonTrivialObjCLifetime()) return false; - // C++11 [basic.types]p9 + // C++11 [basic.types]p9 - See Core 2094 // Scalar types, trivially copyable class types, arrays of such types, and - // non-volatile const-qualified versions of these types are collectively + // cv-qualified versions of these types are collectively // called trivially copyable types. QualType CanonicalType = getCanonicalType(); if (CanonicalType->isDependentType()) return false; - if (CanonicalType.isVolatileQualified()) - return false; - // Return false for incomplete types after skipping any incomplete array types // which are expressly allowed by the standard and thus our API. if (CanonicalType->isIncompleteType())
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits