| <!DOCTYPE html> |
| <!-- This file is auto-generated by make_cxx_dr_status. Do not modify. --> |
| <html> |
| <head> |
| <META http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| <title>Clang - C++ Defect Report Status</title> |
| <link type="text/css" rel="stylesheet" href="menu.css"> |
| <link type="text/css" rel="stylesheet" href="content.css"> |
| <style type="text/css"> |
| .none { background-color: #FFCCCC } |
| .none-superseded { background-color: rgba(255, 204, 204, 0.65) } |
| .unknown { background-color: #EBCAFE } |
| .unknown-superseded { background-color: rgba(234, 200, 254, 0.65) } |
| .partial { background-color: #FFE0B0 } |
| .partial-superseded { background-color: rgba(255, 224, 179, 0.65) } |
| .unreleased { background-color: #FFFF99 } |
| .unreleased-superseded { background-color: rgba(255, 255, 153, 0.65) } |
| .full { background-color: #CCFF99 } |
| .full-superseded { background-color: rgba(214, 255, 173, 0.65) } |
| .na { background-color: #DDDDDD } |
| .na-superseded { background-color: rgba(222, 222, 222, 0.65) } |
| .open * { color: #AAAAAA } |
| .open-superseded * { color: rgba(171, 171, 171, 0.65) } |
| //.open { filter: opacity(0.2) } |
| tr:target { background-color: #FFFFBB } |
| th { background-color: #FFDDAA } |
| </style> |
| </head> |
| <body> |
| |
| <!--#include virtual="menu.html.incl"--> |
| |
| <div id="content"> |
| |
| <!--*************************************************************************--> |
| <h1>C++ Defect Report Support in Clang</h1> |
| <!--*************************************************************************--> |
| |
| <h2 id="cxxdr">C++ defect report implementation status</h2> |
| |
| <p>This page tracks which C++ defect reports are implemented within Clang.</p> |
| |
| <table width="689" border="1" cellspacing="0"> |
| <tr> |
| <th>Number</th> |
| <th>Status</th> |
| <th>Issue title</th> |
| <th>Available in Clang?</th> |
| </tr> |
| <tr id="1"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/1.html">1</a></td> |
| <td>TC1</td> |
| <td>What if two using-declarations refer to the same function but the declarations introduce different default-arguments?</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr class="open" id="2"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/2.html">2</a></td> |
| <td>drafting</td> |
| <td>How can dependent names be used in member declarations that appear outside of the class template definition?</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="3"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/3.html">3</a></td> |
| <td>NAD</td> |
| <td>The template compilation model rules render some explicit specialization declarations not visible during instantiation</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="4"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/4.html">4</a></td> |
| <td>CD1</td> |
| <td>Does extern "C" affect the linkage of function names with internal linkage?</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="5"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/5.html">5</a></td> |
| <td>CD1</td> |
| <td>CV-qualifiers and type conversions</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="6"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/6.html">6</a></td> |
| <td>NAD</td> |
| <td>Should the optimization that allows a class object to alias another object also allow the case of a parameter in an inline function to alias its argument?</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="7"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/7.html">7</a></td> |
| <td>NAD</td> |
| <td>Can a class with a private virtual base class be derived from?</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="8"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/8.html">8</a></td> |
| <td>CD1</td> |
| <td>Access to template arguments used in a function return type and in the nested name specifier</td> |
| <td class="full" align="center">Duplicate of <a href="#45">45</a></td> |
| </tr> |
| <tr id="9"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/9.html">9</a></td> |
| <td>CD1</td> |
| <td>Clarification of access to base class members</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="10"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/10.html">10</a></td> |
| <td>CD1</td> |
| <td>Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?</td> |
| <td class="full" align="center">Duplicate of <a href="#45">45</a></td> |
| </tr> |
| <tr id="11"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/11.html">11</a></td> |
| <td>CD1</td> |
| <td>How do the keywords typename/template interact with using-declarations?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="12"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/12.html">12</a></td> |
| <td>dup</td> |
| <td>Default arguments on different declarations for the same function and the Koenig lookup</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#239">239</a></td> |
| </tr> |
| <tr id="13"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/13.html">13</a></td> |
| <td>NAD</td> |
| <td>extern "C" for Parameters of Function Templates</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="14"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/14.html">14</a></td> |
| <td>NAD</td> |
| <td>extern "C" functions and declarations in different namespaces</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="15"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/15.html">15</a></td> |
| <td>dup</td> |
| <td>Default arguments for parameters of function templates</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="16"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/16.html">16</a></td> |
| <td>CD1</td> |
| <td>Access to members of indirect private base classes</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="17"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/17.html">17</a></td> |
| <td>NAD</td> |
| <td>Footnote 99 should discuss the naming class when describing members that can be accessed from friends</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="18"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/18.html">18</a></td> |
| <td>NAD</td> |
| <td>f(TYPE) where TYPE is void should be allowed</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#577">577</a></td> |
| </tr> |
| <tr id="19"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/19.html">19</a></td> |
| <td>NAD</td> |
| <td>Clarify protected member access</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="20"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/20.html">20</a></td> |
| <td>TC1</td> |
| <td>Some clarifications needed for 12.8 para 15</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="21"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/21.html">21</a></td> |
| <td>TC1</td> |
| <td>Can a default argument for a template parameter appear in a friend declaration?</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="22"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/22.html">22</a></td> |
| <td>TC1</td> |
| <td>Template parameter with a default argument that refers to itself</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#481">481</a></td> |
| </tr> |
| <tr id="23"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/23.html">23</a></td> |
| <td>NAD</td> |
| <td>Some questions regarding partial ordering of function templates</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="24"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/24.html">24</a></td> |
| <td>TC1</td> |
| <td>Errors in examples in 14.7.3</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="25"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/25.html">25</a></td> |
| <td>TC1</td> |
| <td>Exception specifications and pointers to members</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="26"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/26.html">26</a></td> |
| <td>NAD</td> |
| <td>Copy constructors and default arguments</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="27"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/27.html">27</a></td> |
| <td>NAD</td> |
| <td>Overload ambiguities for builtin ?: prototypes</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="28"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/28.html">28</a></td> |
| <td>CD1</td> |
| <td>'exit', 'signal' and static object destruction</td> |
| <td class="na" align="center">N/A (Library DR)</td> |
| </tr> |
| <tr id="29"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/29.html">29</a></td> |
| <td>CD1</td> |
| <td>Linkage of locally declared functions</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="30"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/30.html">30</a></td> |
| <td>TC1</td> |
| <td>Valid uses of "<TT>::template</TT>"</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#468">468</a> (C++11 onwards)</td> |
| </tr> |
| <tr id="31"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/31.html">31</a></td> |
| <td>NAD</td> |
| <td>Looking up new/delete</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="32"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/32.html">32</a></td> |
| <td>TC1</td> |
| <td>Clarification of explicit instantiation of non-exported templates</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="33"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/33.html">33</a></td> |
| <td>TC1</td> |
| <td>Argument dependent lookup and overloaded functions</td> |
| <td class="full" align="center">Clang 9</td> |
| </tr> |
| <tr id="34"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/34.html">34</a></td> |
| <td>NAD</td> |
| <td>Argument dependent lookup and points of instantiation</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="35"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/35.html">35</a></td> |
| <td>TC1</td> |
| <td>Definition of default-initialization</td> |
| <td class="full" align="center">Duplicate of <a href="#178">178</a></td> |
| </tr> |
| <tr id="36"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/36.html">36</a></td> |
| <td>CD6</td> |
| <td><I>using-declaration</I>s in multiple-declaration contexts</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="37"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/37.html">37</a></td> |
| <td>NAD</td> |
| <td>When is uncaught_exception() true?</td> |
| <td class="unknown-superseded" align="center">Superseded by <a href="#475">475</a></td> |
| </tr> |
| <tr id="38"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/38.html">38</a></td> |
| <td>TC1</td> |
| <td>Explicit template arguments and operator functions</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="39"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/39.html">39</a></td> |
| <td>CD1</td> |
| <td>Conflicting ambiguity rules</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="40"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/40.html">40</a></td> |
| <td>TC1</td> |
| <td>Syntax of <I>declarator-id</I></td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="41"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/41.html">41</a></td> |
| <td>TC1</td> |
| <td>Clarification of lookup of names after declarator-id</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="42"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/42.html">42</a></td> |
| <td>NAD</td> |
| <td>Redefining names from base classes</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="43"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/43.html">43</a></td> |
| <td>TC1</td> |
| <td>Copying base classes (PODs) using memcpy</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="44"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/44.html">44</a></td> |
| <td>CD1</td> |
| <td>Member specializations</td> |
| <td class="partial-superseded" align="center">Superseded by <a href="#727">727</a></td> |
| </tr> |
| <tr id="45"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/45.html">45</a></td> |
| <td>CD1</td> |
| <td>Access to nested classes</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="46"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/46.html">46</a></td> |
| <td>NAD</td> |
| <td>Explicit instantiation of member templates</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="47"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/47.html">47</a></td> |
| <td>NAD</td> |
| <td>Template friend issues</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#329">329</a></td> |
| </tr> |
| <tr id="48"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/48.html">48</a></td> |
| <td>TC1</td> |
| <td>Definitions of unused static members</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="49"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/49.html">49</a></td> |
| <td>TC1</td> |
| <td>Restriction on non-type, non-value template arguments</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="50"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/50.html">50</a></td> |
| <td>NAD</td> |
| <td>Converting pointer to incomplete type to same type</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="51"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/51.html">51</a></td> |
| <td>TC1</td> |
| <td>Overloading and user-defined conversions</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="52"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/52.html">52</a></td> |
| <td>TC1</td> |
| <td>Non-static members, member selection and access checking</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="53"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/53.html">53</a></td> |
| <td>TC1</td> |
| <td>Lvalue-to-rvalue conversion before certain static_casts</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="54"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/54.html">54</a></td> |
| <td>CD1</td> |
| <td>Static_cast from private base to derived class</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="55"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/55.html">55</a></td> |
| <td>NAD</td> |
| <td>Adding/subtracting pointer and enumeration value</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="56"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/56.html">56</a></td> |
| <td>TC1</td> |
| <td>Redeclaring typedefs within classes</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr class="open" id="57"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/57.html">57</a></td> |
| <td>open</td> |
| <td>Empty unions</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="58"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/58.html">58</a></td> |
| <td>CD1</td> |
| <td>Signedness of bit fields of enum type</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="59"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/59.html">59</a></td> |
| <td>TC1</td> |
| <td>Clarification of overloading and UDC to reference type</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="60"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/60.html">60</a></td> |
| <td>CD1</td> |
| <td>Reference binding and valid conversion sequences</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="61"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/61.html">61</a></td> |
| <td>NAD</td> |
| <td>Address of static member function "<TT>&p->f</TT>"</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="62"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/62.html">62</a></td> |
| <td>CD1</td> |
| <td>Unnamed members of classes used as type parameters</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="63"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/63.html">63</a></td> |
| <td>CD1</td> |
| <td>Class instantiation from pointer conversion to void*, null and self</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="64"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/64.html">64</a></td> |
| <td>TC1</td> |
| <td>Partial ordering to disambiguate explicit specialization</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="65"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/65.html">65</a></td> |
| <td>TC1</td> |
| <td>Typo in default argument example</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="66"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/66.html">66</a></td> |
| <td>NAD</td> |
| <td>Visibility of default args vs overloads added after using-declaration</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="67"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/67.html">67</a></td> |
| <td>TC1</td> |
| <td>Evaluation of left side of object-expression</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="68"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/68.html">68</a></td> |
| <td>TC1</td> |
| <td>Grammar does not allow "friend class A<int>;"</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="69"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/69.html">69</a></td> |
| <td>TC1</td> |
| <td>Storage class specifiers on template declarations</td> |
| <td class="full" align="center">Clang 9</td> |
| </tr> |
| <tr id="70"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/70.html">70</a></td> |
| <td>CD1</td> |
| <td>Is an array bound a nondeduced context?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="71"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/71.html">71</a></td> |
| <td>NAD</td> |
| <td>Incorrect cross reference</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="72"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/72.html">72</a></td> |
| <td>dup</td> |
| <td>Linkage and storage class specifiers for templates</td> |
| <td class="full" align="center">Duplicate of <a href="#69">69</a></td> |
| </tr> |
| <tr id="73"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/73.html">73</a></td> |
| <td>TC1</td> |
| <td>Pointer equality</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#1652">1652</a></td> |
| </tr> |
| <tr id="74"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/74.html">74</a></td> |
| <td>TC1</td> |
| <td>Enumeration value in direct-new-declarator</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="75"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/75.html">75</a></td> |
| <td>TC1</td> |
| <td>In-class initialized members must be const</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="76"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/76.html">76</a></td> |
| <td>TC1</td> |
| <td>Are const volatile variables considered "constant expressions"?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="77"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/77.html">77</a></td> |
| <td>CD1</td> |
| <td>The definition of friend does not allow nested classes to be friends</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="78"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/78.html">78</a></td> |
| <td>CD1</td> |
| <td>Section 8.5 paragraph 9 should state it only applies to non-static objects</td> |
| <td class="none" align="center">Superseded by <a href="#????">????</a></td> |
| </tr> |
| <tr id="79"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/79.html">79</a></td> |
| <td>dup</td> |
| <td>Alignment and placement new</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="80"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/80.html">80</a></td> |
| <td>TC1</td> |
| <td>Class members with same name as class</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="81"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/81.html">81</a></td> |
| <td>NAD</td> |
| <td>Null pointers and C compatibility</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="82"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/82.html">82</a></td> |
| <td>dup</td> |
| <td>Definition of "using" a constant expression</td> |
| <td class="full" align="center">Duplicate of <a href="#48">48</a></td> |
| </tr> |
| <tr id="83"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/83.html">83</a></td> |
| <td>TC1</td> |
| <td>Overloading and deprecated conversion of string literal</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="84"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/84.html">84</a></td> |
| <td>TC1</td> |
| <td>Overloading and conversion loophole used by <TT>auto_ptr</TT></td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="85"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/85.html">85</a></td> |
| <td>TC1</td> |
| <td>Redeclaration of member class</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="86"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/86.html">86</a></td> |
| <td>CD1</td> |
| <td>Lifetime of temporaries in query expressions</td> |
| <td class="full" align="center">Duplicate of <a href="#446">446</a></td> |
| </tr> |
| <tr id="87"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/87.html">87</a></td> |
| <td>CD1</td> |
| <td>Exception specifications on function parameters</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="88"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/88.html">88</a></td> |
| <td>NAD</td> |
| <td>Specialization of member constant templates</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="89"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/89.html">89</a></td> |
| <td>TC1</td> |
| <td>Object lifetime does not account for reference rebinding</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="90"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/90.html">90</a></td> |
| <td>TC1</td> |
| <td>Should the enclosing class be an "associated class" too?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="91"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/91.html">91</a></td> |
| <td>NAD</td> |
| <td>A union's associated types should include the union itself</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="92"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/92.html">92</a></td> |
| <td>CD4</td> |
| <td>Should <I>exception-specification</I>s be part of the type system?</td> |
| <td class="full" align="center">Clang 4 (C++17 onwards)</td> |
| </tr> |
| <tr id="93"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/93.html">93</a></td> |
| <td>TC1</td> |
| <td>Missing word in 3.8 <U>basic.life</U> paragraph 2</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="94"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/94.html">94</a></td> |
| <td>TC1</td> |
| <td>Inconsistencies in the descriptions of constant expressions</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="95"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/95.html">95</a></td> |
| <td>NAD</td> |
| <td>Elaborated type specifiers referencing names declared in friend decls</td> |
| <td class="full" align="center">Clang 3.3</td> |
| </tr> |
| <tr id="96"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/96.html">96</a></td> |
| <td>C++11</td> |
| <td>Syntactic disambiguation using the <TT>template</TT> keyword</td> |
| <td class="na" align="center">Superseded by <a href="https://wg21.link/P1787">P1787</a></td> |
| </tr> |
| <tr id="97"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/97.html">97</a></td> |
| <td>NAD</td> |
| <td>Use of bool constants in integral constant expressions</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="98"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/98.html">98</a></td> |
| <td>TC1</td> |
| <td>Branching into try block</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="99"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/99.html">99</a></td> |
| <td>NAD</td> |
| <td>Partial ordering, references and cv-qualifiers</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#214">214</a></td> |
| </tr> |
| <tr id="100"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/100.html">100</a></td> |
| <td>TC1</td> |
| <td>Clarify why string literals are not allowed as template arguments</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="101"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/101.html">101</a></td> |
| <td>TC1</td> |
| <td>Redeclaration of extern "C" names via using-declarations</td> |
| <td class="full" align="center">Clang 3.5</td> |
| </tr> |
| <tr id="102"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/102.html">102</a></td> |
| <td>NAD</td> |
| <td>Operator lookup rules do not work well with parts of the library</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="103"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/103.html">103</a></td> |
| <td>TC1</td> |
| <td>Is it <I>extended-namespace-definition</I> or <I>extension-namespace-definition</I> ?</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="104"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/104.html">104</a></td> |
| <td>NAD</td> |
| <td>Destroying the exception temp when no handler is found</td> |
| <td class="na" align="center">N/A (Library DR)</td> |
| </tr> |
| <tr id="105"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/105.html">105</a></td> |
| <td>TC1</td> |
| <td>Meaning of "template function"</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="106"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/106.html">106</a></td> |
| <td>CD1</td> |
| <td>Creating references to references during template deduction/instantiation</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#540">540</a></td> |
| </tr> |
| <tr id="107"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/107.html">107</a></td> |
| <td>NAD</td> |
| <td>Linkage of operator functions</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="108"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/108.html">108</a></td> |
| <td>TC1</td> |
| <td>Are classes nested in templates dependent?</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="109"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/109.html">109</a></td> |
| <td>NAD</td> |
| <td>Allowing <TT>::template</TT> in <I>using-declaration</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="110"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/110.html">110</a></td> |
| <td>CD6</td> |
| <td>Can template functions and classes be declared in the same scope?</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="111"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/111.html">111</a></td> |
| <td>NAD</td> |
| <td>Copy constructors and cv-qualifiers</td> |
| <td class="full" align="center">Duplicate of <a href="#535">535</a></td> |
| </tr> |
| <tr id="112"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/112.html">112</a></td> |
| <td>CD1</td> |
| <td>Array types and cv-qualifiers</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="113"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/113.html">113</a></td> |
| <td>CD1</td> |
| <td>Visibility of called function</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="114"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/114.html">114</a></td> |
| <td>NAD</td> |
| <td>Virtual overriding by template member function specializations</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="115"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/115.html">115</a></td> |
| <td>CD1</td> |
| <td>Address of template-id</td> |
| <td class="full" align="center">Clang 3.0</td> |
| </tr> |
| <tr id="116"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/116.html">116</a></td> |
| <td>TC1</td> |
| <td>Equivalent and functionally-equivalent function templates</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="117"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/117.html">117</a></td> |
| <td>NAD</td> |
| <td>Timing of destruction of temporaries</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="118"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/118.html">118</a></td> |
| <td>CD1</td> |
| <td>Calls via pointers to virtual member functions</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="119"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/119.html">119</a></td> |
| <td>CD1</td> |
| <td>Object lifetime and aggregate initialization</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="120"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/120.html">120</a></td> |
| <td>TC1</td> |
| <td>Nonexistent non-terminal <I>qualified-name</I></td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="121"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/121.html">121</a></td> |
| <td>TC1</td> |
| <td>Dependent type names with non-dependent <I>nested-name-specifier</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="122"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/122.html">122</a></td> |
| <td>CD1</td> |
| <td><I>template-id</I>s as <I>unqualified-id</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="123"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/123.html">123</a></td> |
| <td>TC1</td> |
| <td>Bad cross-reference</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="124"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/124.html">124</a></td> |
| <td>CD1</td> |
| <td>Lifetime of temporaries in default initialization of class arrays</td> |
| <td class="full" align="center">Clang 2.7</td> |
| </tr> |
| <tr id="125"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/125.html">125</a></td> |
| <td>CD1</td> |
| <td>Ambiguity in <TT>friend</TT> declaration syntax</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="126"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/126.html">126</a></td> |
| <td>TC1</td> |
| <td>Exception specifications and <TT>const</TT></td> |
| <td class="partial" align="center">Partial</td> |
| </tr> |
| <tr id="127"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/127.html">127</a></td> |
| <td>TC1</td> |
| <td>Ambiguity in description of matching deallocation function</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="128"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/128.html">128</a></td> |
| <td>TC1</td> |
| <td>Casting between enum types</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="129"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/129.html">129</a></td> |
| <td>CD3</td> |
| <td>Stability of uninitialized auto variables</td> |
| <td class="full" align="center">Duplicate of <a href="#616">616</a></td> |
| </tr> |
| <tr id="130"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/130.html">130</a></td> |
| <td>NAD</td> |
| <td>Sequence points and <I>new-expression</I>s</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="131"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/131.html">131</a></td> |
| <td>TC1</td> |
| <td>Typo in Lao characters</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://cplusplus.github.io/CWG/issues/132.html">132</a></td> |
| <td>NAD</td> |
| <td>Local types and linkage</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="133"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/133.html">133</a></td> |
| <td>dup</td> |
| <td>Exception specifications and checking</td> |
| <td class="none" align="center">Duplicate of <a href="#87">87</a></td> |
| </tr> |
| <tr id="134"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/134.html">134</a></td> |
| <td>TC1</td> |
| <td>Template classes and <I>declarator-id</I>s</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="135"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/135.html">135</a></td> |
| <td>TC1</td> |
| <td>Class type in in-class member function definitions</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="136"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/136.html">136</a></td> |
| <td>CD1</td> |
| <td>Default arguments and friend declarations</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="137"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/137.html">137</a></td> |
| <td>TC1</td> |
| <td><TT>static_cast</TT> of <I>cv</I> <TT>void*</TT></td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="138"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/138.html">138</a></td> |
| <td>CD6</td> |
| <td>Friend declaration name lookup</td> |
| <td class="partial" align="center">Partial</td> |
| </tr> |
| <tr id="139"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/139.html">139</a></td> |
| <td>CD1</td> |
| <td>Error in <TT>friend</TT> lookup example</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="140"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/140.html">140</a></td> |
| <td>CD1</td> |
| <td>Agreement of parameter declarations</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="141"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/141.html">141</a></td> |
| <td>CD1</td> |
| <td>Non-member function templates in member access expressions</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="142"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/142.html">142</a></td> |
| <td>TC1</td> |
| <td>Injection-related errors in access example</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="143"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/143.html">143</a></td> |
| <td>CD1</td> |
| <td>Friends and Koenig lookup</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr class="open" id="144"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/144.html">144</a></td> |
| <td>open</td> |
| <td>Position of <TT>friend</TT> specifier</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="145"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/145.html">145</a></td> |
| <td>TC1</td> |
| <td>Deprecation of prefix <TT>++</TT></td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr class="open" id="146"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/146.html">146</a></td> |
| <td>open</td> |
| <td>Floating-point zero</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="147"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/147.html">147</a></td> |
| <td>TC1</td> |
| <td>Naming the constructor</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="148"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/148.html">148</a></td> |
| <td>TC1</td> |
| <td>POD classes and pointers to members</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="149"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/149.html">149</a></td> |
| <td>TC1</td> |
| <td>Accessibility and ambiguity</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="150"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/150.html">150</a></td> |
| <td>C++17</td> |
| <td>Template template parameters and default arguments</td> |
| <td class="unreleased" align="center">Clang 19</td> |
| </tr> |
| <tr id="151"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/151.html">151</a></td> |
| <td>TC1</td> |
| <td>Terminology of zero-initialization</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="152"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/152.html">152</a></td> |
| <td>TC1</td> |
| <td><TT>explicit</TT> copy constructors</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="153"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/153.html">153</a></td> |
| <td>TC1</td> |
| <td>Misleading wording (rank of conversion)</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="154"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/154.html">154</a></td> |
| <td>NAD</td> |
| <td>Anonymous unions in unnamed namespaces</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="155"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/155.html">155</a></td> |
| <td>dup</td> |
| <td>Brace initializer for scalar</td> |
| <td class="full" align="center">Duplicate of <a href="#632">632</a></td> |
| </tr> |
| <tr id="156"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/156.html">156</a></td> |
| <td>NAD</td> |
| <td>Name lookup for conversion functions</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr class="open" id="157"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/157.html">157</a></td> |
| <td>open</td> |
| <td>Omitted typedef declarator</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="158"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/158.html">158</a></td> |
| <td>CD1</td> |
| <td>Aliasing and qualification conversions</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="159"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/159.html">159</a></td> |
| <td>TC1</td> |
| <td>Namespace qualification in declarators</td> |
| <td class="full" align="center">Clang 3.5</td> |
| </tr> |
| <tr id="160"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/160.html">160</a></td> |
| <td>CD1</td> |
| <td>Missing <TT>std::</TT> qualification</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="161"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/161.html">161</a></td> |
| <td>TC1</td> |
| <td>Access to protected nested type</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="162"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/162.html">162</a></td> |
| <td>CD1</td> |
| <td>(<TT>&C::f)()</TT> with nonstatic members</td> |
| <td class="unreleased" align="center">Clang 19</td> |
| </tr> |
| <tr id="163"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/163.html">163</a></td> |
| <td>TC1</td> |
| <td>Description of subaggregate initializer</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="164"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/164.html">164</a></td> |
| <td>TC1</td> |
| <td>Overlap between Koenig and normal lookup</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="165"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/165.html">165</a></td> |
| <td>NAD</td> |
| <td>Definitions of friends and block-scope externs</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="166"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/166.html">166</a></td> |
| <td>TC1</td> |
| <td>Friend declarations of <I>template-id</I>s</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="167"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/167.html">167</a></td> |
| <td>NAD</td> |
| <td>Deprecating static functions</td> |
| <td class="unknown-superseded" align="center">Superseded by <a href="#1012">1012</a></td> |
| </tr> |
| <tr id="168"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/168.html">168</a></td> |
| <td>NAD</td> |
| <td>C linkage for static member functions</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="169"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/169.html">169</a></td> |
| <td>NAD</td> |
| <td><I>template-id</I>s in <I>using-declaration</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="170"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/170.html">170</a></td> |
| <td>DRWP</td> |
| <td>Pointer-to-member conversions</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="171"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/171.html">171</a></td> |
| <td>TC1</td> |
| <td>Global namespace scope</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="172"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/172.html">172</a></td> |
| <td>CD1</td> |
| <td>Unsigned int as underlying type of enum</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="173"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/173.html">173</a></td> |
| <td>TC1</td> |
| <td>Constraints on execution character set</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="174"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/174.html">174</a></td> |
| <td>NAD</td> |
| <td>Undeprecating global static</td> |
| <td class="unknown-superseded" align="center">Superseded by <a href="#1012">1012</a></td> |
| </tr> |
| <tr id="175"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/175.html">175</a></td> |
| <td>CD1</td> |
| <td>Class name injection and base name access</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="176"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/176.html">176</a></td> |
| <td>TC1</td> |
| <td>Name injection and templates</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="177"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/177.html">177</a></td> |
| <td>CD1</td> |
| <td>Lvalues vs rvalues in copy-initialization</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="178"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/178.html">178</a></td> |
| <td>TC1</td> |
| <td>More on value-initialization</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="179"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/179.html">179</a></td> |
| <td>TC1</td> |
| <td>Function pointers and subtraction</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="180"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/180.html">180</a></td> |
| <td>CD1</td> |
| <td><TT>typename</TT> and elaborated types</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="181"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/181.html">181</a></td> |
| <td>TC1</td> |
| <td>Errors in template <I>template-parameter</I> example</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="182"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/182.html">182</a></td> |
| <td>NAD</td> |
| <td>Access checking on explicit specializations</td> |
| <td class="full" align="center">Clang 14</td> |
| </tr> |
| <tr id="183"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/183.html">183</a></td> |
| <td>TC1</td> |
| <td><TT>typename</TT> in explicit specializations</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#382">382</a></td> |
| </tr> |
| <tr id="184"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/184.html">184</a></td> |
| <td>CD1</td> |
| <td>Default arguments in template <I>template-parameter</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="185"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/185.html">185</a></td> |
| <td>TC1</td> |
| <td>"Named" temporaries and copy elision</td> |
| <td class="full" align="center">Clang 2.7</td> |
| </tr> |
| <tr class="open" id="186"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/186.html">186</a></td> |
| <td>open</td> |
| <td>Name hiding and template <I>template-parameter</I>s</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="187"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/187.html">187</a></td> |
| <td>TC1</td> |
| <td>Scope of template parameter names</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#481">481</a></td> |
| </tr> |
| <tr id="188"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/188.html">188</a></td> |
| <td>TC1</td> |
| <td>Comma operator and rvalue conversion</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr class="open" id="189"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/189.html">189</a></td> |
| <td>drafting</td> |
| <td>Definition of <I>operator</I> and <I>punctuator</I></td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="190"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/190.html">190</a></td> |
| <td>TC1</td> |
| <td>Layout-compatible POD-struct types</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="191"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/191.html">191</a></td> |
| <td>CD6</td> |
| <td>Name lookup does not handle complex nesting</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="192"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/192.html">192</a></td> |
| <td>NAD</td> |
| <td>Name lookup in parameters</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="193"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/193.html">193</a></td> |
| <td>TC1</td> |
| <td>Order of destruction of local automatics of destructor</td> |
| <td class="full" align="center">Clang 2.7</td> |
| </tr> |
| <tr id="194"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/194.html">194</a></td> |
| <td>TC1</td> |
| <td>Identifying constructors</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="195"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/195.html">195</a></td> |
| <td>CD1</td> |
| <td>Converting between function and object pointers</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr class="open" id="196"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/196.html">196</a></td> |
| <td>open</td> |
| <td>Arguments to deallocation functions</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="197"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/197.html">197</a></td> |
| <td>CD1</td> |
| <td>Issues with two-stage lookup of dependent names</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="198"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/198.html">198</a></td> |
| <td>CD1</td> |
| <td>Definition of "use" in local and nested classes</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="199"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/199.html">199</a></td> |
| <td>CD1</td> |
| <td>Order of destruction of temporaries</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="200"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/200.html">200</a></td> |
| <td>dup</td> |
| <td>Partial ordering and explicit arguments</td> |
| <td class="full" align="center">Duplicate of <a href="#214">214</a></td> |
| </tr> |
| <tr id="201"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/201.html">201</a></td> |
| <td>CD1</td> |
| <td>Order of destruction of temporaries in initializers</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="202"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/202.html">202</a></td> |
| <td>TC1</td> |
| <td>Use of overloaded function name</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="203"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/203.html">203</a></td> |
| <td>NAD</td> |
| <td>Type of address-of-member expression</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="204"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/204.html">204</a></td> |
| <td>CD1</td> |
| <td>Exported class templates</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#820">820</a></td> |
| </tr> |
| <tr class="open" id="205"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/205.html">205</a></td> |
| <td>drafting</td> |
| <td>Templates and static data members</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="206"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/206.html">206</a></td> |
| <td>TC1</td> |
| <td>Semantic constraints on non-dependent names</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="207"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/207.html">207</a></td> |
| <td>CD1</td> |
| <td><I>using-declaration</I>s and protected access</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="208"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/208.html">208</a></td> |
| <td>CD1</td> |
| <td>Rethrowing exceptions in nested handlers</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="209"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/209.html">209</a></td> |
| <td>NAD</td> |
| <td>Must friend declaration names be |
| accessible?</td> |
| <td class="full" align="center">Clang 3.2</td> |
| </tr> |
| <tr id="210"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/210.html">210</a></td> |
| <td>TC1</td> |
| <td>What is the type matched by an exception handler?</td> |
| <td class="full" align="center">Clang 2.7</td> |
| </tr> |
| <tr id="211"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/211.html">211</a></td> |
| <td>NAD</td> |
| <td>Constructors should not be allowed to return normally after an exception</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="212"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/212.html">212</a></td> |
| <td>CD4</td> |
| <td>Implicit instantiation is not described clearly enough</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="213"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/213.html">213</a></td> |
| <td>TC1</td> |
| <td>Lookup in dependent base classes</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="214"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/214.html">214</a></td> |
| <td>CD1</td> |
| <td>Partial ordering of function templates is underspecified</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="215"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/215.html">215</a></td> |
| <td>CD1</td> |
| <td>Template parameters are not allowed in <I>nested-name-specifier</I>s</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="216"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/216.html">216</a></td> |
| <td>CD1</td> |
| <td>Linkage of nameless class-scope enumeration types</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="217"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/217.html">217</a></td> |
| <td>TC1</td> |
| <td>Default arguments for non-template member functions of class templates</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="218"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/218.html">218</a></td> |
| <td>CD1</td> |
| <td>Specification of Koenig lookup</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="219"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/219.html">219</a></td> |
| <td>NAD</td> |
| <td>Cannot defend against destructors that throw exceptions</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="220"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/220.html">220</a></td> |
| <td>CD1</td> |
| <td>All deallocation functions should be required not to throw</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="221"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/221.html">221</a></td> |
| <td>CD1</td> |
| <td>Must compound assignment operators be member functions?</td> |
| <td class="full" align="center">Clang 3.6</td> |
| </tr> |
| <tr id="222"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/222.html">222</a></td> |
| <td>CD1</td> |
| <td>Sequence points and lvalue-returning operators</td> |
| <td class="full" align="center">Duplicate of <a href="#637">637</a></td> |
| </tr> |
| <tr id="223"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/223.html">223</a></td> |
| <td>CD3</td> |
| <td>The meaning of deprecation</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="224"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/224.html">224</a></td> |
| <td>CD1</td> |
| <td>Definition of dependent names</td> |
| <td class="full" align="center">Clang 16</td> |
| </tr> |
| <tr id="225"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/225.html">225</a></td> |
| <td>NAD</td> |
| <td>Koenig lookup and fundamental types</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="226"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/226.html">226</a></td> |
| <td>CD1</td> |
| <td>Default template arguments for function templates</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="227"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/227.html">227</a></td> |
| <td>TC1</td> |
| <td>How many scopes in an <TT>if</TT> statement?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="228"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/228.html">228</a></td> |
| <td>CD1</td> |
| <td>Use of <TT>template</TT> keyword with non-member templates</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="229"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/229.html">229</a></td> |
| <td>NAD</td> |
| <td>Partial specialization of function templates</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="230"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/230.html">230</a></td> |
| <td>NAD</td> |
| <td>Calls to pure virtual functions</td> |
| <td class="full" align="center">Clang 3.0</td> |
| </tr> |
| <tr id="231"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/231.html">231</a></td> |
| <td>NAD</td> |
| <td>Visibility of names after <I>using-directive</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="232"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/232.html">232</a></td> |
| <td>NAD</td> |
| <td>Is indirection through a null pointer undefined behavior?</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="233"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/233.html">233</a></td> |
| <td>DR</td> |
| <td>References vs pointers in UDC overload resolution</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="234"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/234.html">234</a></td> |
| <td>NAD</td> |
| <td>Reuse of base class subobjects</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="235"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/235.html">235</a></td> |
| <td>TC1</td> |
| <td>Assignment vs initialization</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="236"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/236.html">236</a></td> |
| <td>NAD</td> |
| <td>Explicit temporaries and integral constant expressions</td> |
| <td class="full" align="center">Clang 3.2</td> |
| </tr> |
| <tr id="237"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/237.html">237</a></td> |
| <td>CD1</td> |
| <td>Explicit instantiation and base class members</td> |
| <td class="full" align="center">Duplicate of <a href="#470">470</a></td> |
| </tr> |
| <tr id="238"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/238.html">238</a></td> |
| <td>CD4</td> |
| <td>Precision and accuracy constraints on floating point</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="239"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/239.html">239</a></td> |
| <td>CD1</td> |
| <td>Footnote 116 and Koenig lookup</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="240"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/240.html">240</a></td> |
| <td>CD3</td> |
| <td>Uninitialized values and undefined behavior</td> |
| <td class="full" align="center">Duplicate of <a href="#616">616</a></td> |
| </tr> |
| <tr id="241"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/241.html">241</a></td> |
| <td>TC1</td> |
| <td>Error in example in 14.8.1</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="242"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/242.html">242</a></td> |
| <td>CD4</td> |
| <td>Interpretation of old-style casts</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="243"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/243.html">243</a></td> |
| <td>NAD</td> |
| <td>Weighting of conversion functions in direct-initialization</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="244"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/244.html">244</a></td> |
| <td>CD1</td> |
| <td>Destructor lookup</td> |
| <td class="full" align="center">Clang 11</td> |
| </tr> |
| <tr id="245"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/245.html">245</a></td> |
| <td>CD1</td> |
| <td>Name lookup in <I>elaborated-type-specifier</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="246"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/246.html">246</a></td> |
| <td>CD1</td> |
| <td>Jumps in <I>function-try-block</I> handlers</td> |
| <td class="full" align="center">Clang 3.2</td> |
| </tr> |
| <tr id="247"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/247.html">247</a></td> |
| <td>NAD</td> |
| <td>Pointer-to-member casts and function overload resolution</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="248"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/248.html">248</a></td> |
| <td>C++11</td> |
| <td>Identifier characters</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://cplusplus.github.io/CWG/issues/249.html">249</a></td> |
| <td>TC1</td> |
| <td>What is a member function template?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="250"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/250.html">250</a></td> |
| <td>TC1</td> |
| <td>Address of function template specialization with non-deduced template arguments</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr class="open" id="251"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/251.html">251</a></td> |
| <td>open</td> |
| <td>How many signed integer types are there?</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="252"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/252.html">252</a></td> |
| <td>CD1</td> |
| <td>Looking up deallocation functions in virtual destructors</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="253"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/253.html">253</a></td> |
| <td>C++17</td> |
| <td>Why must empty or fully-initialized const objects be initialized?</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="254"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/254.html">254</a></td> |
| <td>CD1</td> |
| <td>Definitional problems with <I>elaborated-type-specifier</I>s</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="255"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/255.html">255</a></td> |
| <td>CD6</td> |
| <td>Placement deallocation functions and lookup ambiguity</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="256"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/256.html">256</a></td> |
| <td>CD1</td> |
| <td>Overflow in size calculations</td> |
| <td class="unknown" align="center">Duplicate of <a href="#624">624</a></td> |
| </tr> |
| <tr id="257"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/257.html">257</a></td> |
| <td>CD2</td> |
| <td>Abstract base constructors and virtual base initialization</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="258"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/258.html">258</a></td> |
| <td>CD1</td> |
| <td><I>using-declaration</I>s and cv-qualifiers</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="259"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/259.html">259</a></td> |
| <td>CD1</td> |
| <td>Restrictions on explicit specialization and instantiation</td> |
| <td class="full" align="center">Clang 4</td> |
| </tr> |
| <tr class="open" id="260"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/260.html">260</a></td> |
| <td>open</td> |
| <td>User-defined conversions and built-in <TT>operator=</TT></td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="261"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/261.html">261</a></td> |
| <td>CD1</td> |
| <td>When is a deallocation function "used?"</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="262"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/262.html">262</a></td> |
| <td>CD1</td> |
| <td>Default arguments and ellipsis</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="263"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/263.html">263</a></td> |
| <td>CD1</td> |
| <td>Can a constructor be declared a friend?</td> |
| <td class="full" align="center">Clang 3.3</td> |
| </tr> |
| <tr class="open" id="264"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/264.html">264</a></td> |
| <td>open</td> |
| <td>Unusable template constructors and conversion functions</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="265"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/265.html">265</a></td> |
| <td>dup</td> |
| <td>Destructors, exceptions, and deallocation</td> |
| <td class="unknown" align="center">Duplicate of <a href="#353">353</a></td> |
| </tr> |
| <tr id="266"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/266.html">266</a></td> |
| <td>NAD</td> |
| <td>No grammar sentence symbol</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr class="open" id="267"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/267.html">267</a></td> |
| <td>open</td> |
| <td>Alignment requirement for <I>new-expression</I>s</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr class="open" id="268"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/268.html">268</a></td> |
| <td>open</td> |
| <td>Macro name suppression in rescanned replacement text</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="269"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/269.html">269</a></td> |
| <td>NAD</td> |
| <td>Order of initialization of multiply-defined static data members |
| of class templates</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="270"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/270.html">270</a></td> |
| <td>CD1</td> |
| <td>Order of initialization of static data members of class templates</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="271"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/271.html">271</a></td> |
| <td>CD6</td> |
| <td>Explicit instantiation and template argument deduction</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="272"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/272.html">272</a></td> |
| <td>CD1</td> |
| <td>Explicit destructor invocation and <I>qualified-id</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="273"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/273.html">273</a></td> |
| <td>CD1</td> |
| <td>POD classes and <TT>operator&()</TT></td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="274"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/274.html">274</a></td> |
| <td>CD1</td> |
| <td>Cv-qualification and char-alias access to out-of-lifetime objects</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="275"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/275.html">275</a></td> |
| <td>CD1</td> |
| <td>Explicit instantiation/specialization and <I>using-directive</I>s</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="276"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/276.html">276</a></td> |
| <td>CD1</td> |
| <td>Order of destruction of parameters and temporaries</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="277"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/277.html">277</a></td> |
| <td>CD1</td> |
| <td>Zero-initialization of pointers</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="278"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/278.html">278</a></td> |
| <td>NAD</td> |
| <td>External linkage and nameless entities</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="279"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/279.html">279</a></td> |
| <td>CD6</td> |
| <td>Correspondence of "names for linkage purposes"</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="280"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/280.html">280</a></td> |
| <td>CD1</td> |
| <td>Access and surrogate call functions</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="281"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/281.html">281</a></td> |
| <td>CD1</td> |
| <td><TT>inline</TT> specifier in <TT>friend</TT> declarations</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr class="open" id="282"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/282.html">282</a></td> |
| <td>open</td> |
| <td>Namespace for <TT>extended_type_info</TT></td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="283"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/283.html">283</a></td> |
| <td>CD1</td> |
| <td>Template <I>type-parameter</I>s are not syntactically <I>type-name</I>s</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="284"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/284.html">284</a></td> |
| <td>CD1</td> |
| <td><I>qualified-id</I>s in class declarations</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="285"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/285.html">285</a></td> |
| <td>NAD</td> |
| <td>Identifying a function template being specialized</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="286"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/286.html">286</a></td> |
| <td>CD1</td> |
| <td>Incorrect example in partial specialization</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr class="open" id="287"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/287.html">287</a></td> |
| <td>drafting</td> |
| <td>Order dependencies in template instantiation</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="288"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/288.html">288</a></td> |
| <td>CD1</td> |
| <td>Misuse of "static type" in describing pointers</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="289"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/289.html">289</a></td> |
| <td>CD1</td> |
| <td>Incomplete list of contexts requiring a complete type</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="290"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/290.html">290</a></td> |
| <td>NAD</td> |
| <td>Should memcpy be allowed into a POD with a const member?</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="291"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/291.html">291</a></td> |
| <td>CD1</td> |
| <td>Overload resolution needed when binding reference to class rvalue</td> |
| <td class="full" align="center">Duplicate of <a href="#391">391</a></td> |
| </tr> |
| <tr id="292"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/292.html">292</a></td> |
| <td>CD3</td> |
| <td>Deallocation on exception in <TT>new</TT> before arguments evaluated</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr class="open" id="293"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/293.html">293</a></td> |
| <td>open</td> |
| <td>Syntax of explicit instantiation/specialization too permissive</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="294"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/294.html">294</a></td> |
| <td>NAD</td> |
| <td>Can <TT>static_cast</TT> drop exception specifications?</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="295"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/295.html">295</a></td> |
| <td>CD1</td> |
| <td>cv-qualifiers on function types</td> |
| <td class="full" align="center">Clang 3.7</td> |
| </tr> |
| <tr id="296"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/296.html">296</a></td> |
| <td>CD1</td> |
| <td>Can conversion functions be static?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="297"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/297.html">297</a></td> |
| <td>NAD</td> |
| <td>Which template does an explicit specialization specialize?</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="298"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/298.html">298</a></td> |
| <td>CD1</td> |
| <td><TT>T::x</TT> when <TT>T</TT> is cv-qualified</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="299"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/299.html">299</a></td> |
| <td>CD1</td> |
| <td>Conversion on array bound expression in <TT>new</TT></td> |
| <td class="full" align="center">Clang 2.8 (C++11 onwards)</td> |
| </tr> |
| <tr id="300"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/300.html">300</a></td> |
| <td>CD1</td> |
| <td>References to functions in template argument deduction</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="301"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/301.html">301</a></td> |
| <td>CD1</td> |
| <td>Syntax for <I>template-name</I></td> |
| <td class="full" align="center">Clang 3.5</td> |
| </tr> |
| <tr id="302"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/302.html">302</a></td> |
| <td>CD1</td> |
| <td>Value-initialization and generation of default constructor</td> |
| <td class="full" align="center">Clang 3.0</td> |
| </tr> |
| <tr id="303"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/303.html">303</a></td> |
| <td>NAD</td> |
| <td>Integral promotions on bit-fields</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="304"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/304.html">304</a></td> |
| <td>TC1</td> |
| <td>Value-initialization of a reference</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="305"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/305.html">305</a></td> |
| <td>CD1</td> |
| <td>Name lookup in destructor call</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="306"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/306.html">306</a></td> |
| <td>CD1</td> |
| <td>Ambiguity by class name injection</td> |
| <td class="none" align="center">Duplicate of <a href="#39">39</a></td> |
| </tr> |
| <tr id="307"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/307.html">307</a></td> |
| <td>NAD</td> |
| <td>Initialization of a virtual base class subobject</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="308"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/308.html">308</a></td> |
| <td>NAD</td> |
| <td>Catching exceptions with ambiguous base classes</td> |
| <td class="full" align="center">Clang 3.7</td> |
| </tr> |
| <tr id="309"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/309.html">309</a></td> |
| <td>CD1</td> |
| <td>Linkage of entities whose names are not simply identifiers, in introduction</td> |
| <td class="full" align="center">Duplicate of <a href="#485">485</a></td> |
| </tr> |
| <tr class="open" id="310"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/310.html">310</a></td> |
| <td>open</td> |
| <td>Can function templates differing only in parameter cv-qualifiers be overloaded?</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="311"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/311.html">311</a></td> |
| <td>NAD</td> |
| <td>Using qualified name to reopen nested namespace</td> |
| <td class="full" align="center">Clang 3.0</td> |
| </tr> |
| <tr id="312"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/312.html">312</a></td> |
| <td>CD3</td> |
| <td>“use” of invalid pointer value not defined</td> |
| <td class="full" align="center">Duplicate of <a href="#616">616</a></td> |
| </tr> |
| <tr id="313"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/313.html">313</a></td> |
| <td>dup</td> |
| <td>Class with single conversion function to integral as array size in <TT>new</TT></td> |
| <td class="full" align="center">Duplicate of <a href="#299">299</a> (C++11 onwards)</td> |
| </tr> |
| <tr id="314"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/314.html">314</a></td> |
| <td>C++17</td> |
| <td><TT>template</TT> in base class specifier</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="315"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/315.html">315</a></td> |
| <td>NAD</td> |
| <td>Is call of static member function through null pointer undefined?</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="316"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/316.html">316</a></td> |
| <td>NAD</td> |
| <td>Injected-class-name of template used as template template parameter</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#1004">1004</a></td> |
| </tr> |
| <tr id="317"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/317.html">317</a></td> |
| <td>CD1</td> |
| <td>Can a function be declared inline after it has been called?</td> |
| <td class="full" align="center">Clang 3.5</td> |
| </tr> |
| <tr id="318"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/318.html">318</a></td> |
| <td>CD1</td> |
| <td><TT>struct A::A</TT> should not name the constructor of <TT>A</TT></td> |
| <td class="full-superseded" align="center">Superseded by <a href="#1310">1310</a></td> |
| </tr> |
| <tr id="319"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/319.html">319</a></td> |
| <td>CD1</td> |
| <td>Use of names without linkage in declaring entities with linkage</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="320"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/320.html">320</a></td> |
| <td>CD1</td> |
| <td>Question on copy constructor elision example</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="321"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/321.html">321</a></td> |
| <td>dup</td> |
| <td>Associated classes and namespaces for argument-dependent lookup</td> |
| <td class="full" align="center">Duplicate of <a href="#557">557</a></td> |
| </tr> |
| <tr id="322"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/322.html">322</a></td> |
| <td>CD1</td> |
| <td>Deduction of reference conversions</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="323"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/323.html">323</a></td> |
| <td>CD1</td> |
| <td>Where must <TT>export</TT> appear?</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#820">820</a></td> |
| </tr> |
| <tr id="324"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/324.html">324</a></td> |
| <td>CD1</td> |
| <td>Can "<TT>&</TT>" be applied to assignment to bit-field?</td> |
| <td class="full" align="center">Clang 3.6</td> |
| </tr> |
| <tr class="open" id="325"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/325.html">325</a></td> |
| <td>drafting</td> |
| <td>When are default arguments parsed?</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="326"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/326.html">326</a></td> |
| <td>CD1</td> |
| <td>Wording for definition of trivial constructor</td> |
| <td class="full" align="center">Clang 3.1</td> |
| </tr> |
| <tr id="327"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/327.html">327</a></td> |
| <td>CD1</td> |
| <td>Use of "structure" without definition</td> |
| <td class="na" align="center">Duplicate of <a href="#538">538</a></td> |
| </tr> |
| <tr id="328"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/328.html">328</a></td> |
| <td>CD1</td> |
| <td>Missing requirement that class member types be complete</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="329"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/329.html">329</a></td> |
| <td>CD1</td> |
| <td>Evaluation of friends of templates</td> |
| <td class="full" align="center">Clang 3.5</td> |
| </tr> |
| <tr id="330"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/330.html">330</a></td> |
| <td>CD4</td> |
| <td>Qualification conversions and pointers to arrays of pointers</td> |
| <td class="full" align="center">Clang 7</td> |
| </tr> |
| <tr id="331"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/331.html">331</a></td> |
| <td>CD1</td> |
| <td>Allowed copy constructor signatures</td> |
| <td class="full" align="center">Clang 11</td> |
| </tr> |
| <tr id="332"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/332.html">332</a></td> |
| <td>CD3</td> |
| <td>cv-qualified <TT>void</TT> parameter types</td> |
| <td class="full" align="center">Duplicate of <a href="#577">577</a></td> |
| </tr> |
| <tr id="333"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/333.html">333</a></td> |
| <td>NAD</td> |
| <td>Ambiguous use of "declaration" in disambiguation section</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="334"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/334.html">334</a></td> |
| <td>NAD</td> |
| <td>Is a comma-expression dependent if its first operand is?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="335"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/335.html">335</a></td> |
| <td>CD1</td> |
| <td>Allowing <TT>export</TT> on template members of nontemplate classes</td> |
| <td class="full-superseded" align="center">Superseded by <a href="#820">820</a></td> |
| </tr> |
| <tr id="336"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/336.html">336</a></td> |
| <td>CD1</td> |
| <td>Explicit specialization examples are still incorrect</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="337"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/337.html">337</a></td> |
| <td>CD1</td> |
| <td>Attempt to create array of abtract type should cause deduction to fail</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="338"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/338.html">338</a></td> |
| <td>CD6</td> |
| <td>Enumerator name with linkage used as class name in other translation unit</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="339"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/339.html">339</a></td> |
| <td>CD1</td> |
| <td>Overload resolution in operand of <TT>sizeof</TT> in constant expression</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="340"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/340.html">340</a></td> |
| <td>NAD</td> |
| <td>Unclear wording in disambiguation section</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="341"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/341.html">341</a></td> |
| <td>C++11</td> |
| <td><TT>extern "C"</TT> namespace member function versus global variable</td> |
| <td class="unknown-superseded" align="center">Superseded by <a href="#1708">1708</a></td> |
| </tr> |
| <tr id="342"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/342.html">342</a></td> |
| <td>CD3</td> |
| <td>Terminology: "indirection" versus "dereference"</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="343"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/343.html">343</a></td> |
| <td>C++17</td> |
| <td>Make <TT>template</TT> optional in contexts that require a type</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="344"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/344.html">344</a></td> |
| <td>CD3</td> |
| <td>Naming destructors</td> |
| <td class="unknown" align="center">Duplicate of <a href="#1435">1435</a></td> |
| </tr> |
| <tr id="345"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/345.html">345</a></td> |
| <td>CD1</td> |
| <td>Misleading comment on example in templates chapter</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="346"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/346.html">346</a></td> |
| <td>NAD</td> |
| <td>Typo in 15.4</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="347"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/347.html">347</a></td> |
| <td>NAD</td> |
| <td>Use of derived class name in defining base class nested class</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="348"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/348.html">348</a></td> |
| <td>CD1</td> |
| <td><TT>delete</TT> and user-written deallocation functions</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="349"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/349.html">349</a></td> |
| <td>CD1</td> |
| <td>Template argument deduction for conversion functions and qualification conversions</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr class="open" id="350"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/350.html">350</a></td> |
| <td>open</td> |
| <td><TT>signed char</TT> underlying representation for objects</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="351"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/351.html">351</a></td> |
| <td>CD1</td> |
| <td>Sequence point error: unspecified or undefined?</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="352"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/352.html">352</a></td> |
| <td>CD1</td> |
| <td>Nondeduced contexts</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="353"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/353.html">353</a></td> |
| <td>CD1</td> |
| <td>Is deallocation routine called if destructor throws exception in delete?</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="354"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/354.html">354</a></td> |
| <td>CD1</td> |
| <td>Null as nontype template argument</td> |
| <td class="full" align="center">Yes (C++11 onwards)</td> |
| </tr> |
| <tr id="355"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/355.html">355</a></td> |
| <td>C++11</td> |
| <td>Global-scope <TT>::</TT> in <I>nested-name-specifier</I></td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="356"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/356.html">356</a></td> |
| <td>NAD</td> |
| <td>Wording of behavior of generated copy constructor for scalar members</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="357"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/357.html">357</a></td> |
| <td>CD1</td> |
| <td>Definition of signature should include name</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="358"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/358.html">358</a></td> |
| <td>NAD</td> |
| <td>Namespaces and extern "C"</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="359"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/359.html">359</a></td> |
| <td>NAD</td> |
| <td>Type definition in anonymous union</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="360"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/360.html">360</a></td> |
| <td>CD6</td> |
| <td>Using-declaration that reduces access</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr class="open" id="361"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/361.html">361</a></td> |
| <td>open</td> |
| <td>Forward reference to default argument</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="362"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/362.html">362</a></td> |
| <td>CD1</td> |
| <td>Order of initialization in instantiation units</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="363"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/363.html">363</a></td> |
| <td>NAD</td> |
| <td>Initialization of class from self</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="364"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/364.html">364</a></td> |
| <td>CD1</td> |
| <td>Calling overloaded function with static in set, with no object</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr class="open" id="365"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/365.html">365</a></td> |
| <td>open</td> |
| <td>Storage duration and temporaries</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="366"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/366.html">366</a></td> |
| <td>CD1</td> |
| <td>String literal allowed in integral constant expression?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="367"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/367.html">367</a></td> |
| <td>CD1</td> |
| <td><TT>throw</TT> operator allowed in constant expression?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="368"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/368.html">368</a></td> |
| <td>CD1</td> |
| <td>Uses of non-type parameters that should cause deduction to fail</td> |
| <td class="full" align="center">Clang 3.6</td> |
| </tr> |
| <tr class="open" id="369"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/369.html">369</a></td> |
| <td>drafting</td> |
| <td>Are <TT>new</TT>/<TT>delete</TT> identifiers or <I>preprocessing-op-or-punc</I>?</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="370"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/370.html">370</a></td> |
| <td>CD1</td> |
| <td>Can <TT>#include <...></TT> form be used other than for standard C++ headers?</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr class="open" id="371"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/371.html">371</a></td> |
| <td>open</td> |
| <td>Interleaving of constructor calls</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="372"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/372.html">372</a></td> |
| <td>CD1</td> |
| <td>Is access granted by base class specifiers available in following base class specifiers?</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="373"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/373.html">373</a></td> |
| <td>C++11</td> |
| <td>Lookup on namespace qualified name in using-directive</td> |
| <td class="full" align="center">Clang 5</td> |
| </tr> |
| <tr id="374"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/374.html">374</a></td> |
| <td>CD2</td> |
| <td>Can explicit specialization outside namespace use qualified name?</td> |
| <td class="full" align="center">Clang 7</td> |
| </tr> |
| <tr id="375"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/375.html">375</a></td> |
| <td>dup</td> |
| <td>Confusing example on lookup with <TT>typename</TT></td> |
| <td class="full" align="center">Duplicate of <a href="#345">345</a></td> |
| </tr> |
| <tr id="376"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/376.html">376</a></td> |
| <td>NAD</td> |
| <td>Class "definition" versus class "declaration"</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="377"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/377.html">377</a></td> |
| <td>CD1</td> |
| <td>Enum whose enumerators will not fit in any integral type</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="378"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/378.html">378</a></td> |
| <td>CD1</td> |
| <td>Wording that says temporaries are declared</td> |
| <td class="na" align="center">Duplicate of <a href="#276">276</a></td> |
| </tr> |
| <tr id="379"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/379.html">379</a></td> |
| <td>CD1</td> |
| <td>Change "class declaration" to "class definition"</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr class="open" id="380"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/380.html">380</a></td> |
| <td>open</td> |
| <td>Definition of "ambiguous base class" missing</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="381"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/381.html">381</a></td> |
| <td>CD1</td> |
| <td>Incorrect example of base class member lookup</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="382"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/382.html">382</a></td> |
| <td>CD1</td> |
| <td>Allow <TT>typename</TT> outside of templates</td> |
| <td class="full" align="center">Yes (C++11 onwards)</td> |
| </tr> |
| <tr id="383"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/383.html">383</a></td> |
| <td>CD1</td> |
| <td>Is a class with a declared but not defined destructor a POD?</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="384"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/384.html">384</a></td> |
| <td>NAD</td> |
| <td>Argument-dependent lookup and operator functions</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="385"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/385.html">385</a></td> |
| <td>CD1</td> |
| <td>How does protected member check of 11.5 interact with using-declarations?</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="386"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/386.html">386</a></td> |
| <td>CD6</td> |
| <td>Friend declaration of name brought in by <I>using-declaration</I></td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="387"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/387.html">387</a></td> |
| <td>CD1</td> |
| <td>Errors in example in 14.6.5</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="388"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/388.html">388</a></td> |
| <td>CD3</td> |
| <td>Catching base<TT>*&</TT> from a throw of derived<TT>*</TT></td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="389"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/389.html">389</a></td> |
| <td>CD1</td> |
| <td>Unnamed types in entities with linkage</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="390"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/390.html">390</a></td> |
| <td>CD1</td> |
| <td>Pure virtual must be defined when implicitly called</td> |
| <td class="full" align="center">Clang 3.3</td> |
| </tr> |
| <tr id="391"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/391.html">391</a></td> |
| <td>CD1</td> |
| <td>Require direct binding of short-lived references to rvalues</td> |
| <td class="full" align="center">Clang 2.8 (C++11 onwards)</td> |
| </tr> |
| <tr id="392"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/392.html">392</a></td> |
| <td>CD1</td> |
| <td>Use of full expression lvalue before temporary destruction</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr id="393"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/393.html">393</a></td> |
| <td>CD4</td> |
| <td>Pointer to array of unknown bound in template argument list in parameter</td> |
| <td class="full" align="center">Clang 2.7</td> |
| </tr> |
| <tr id="394"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/394.html">394</a></td> |
| <td>CD1</td> |
| <td><I>identifier-list</I> is never defined</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="395"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/395.html">395</a></td> |
| <td>NAD</td> |
| <td>Conversion operator template syntax</td> |
| <td class="full" align="center">Clang 3.0</td> |
| </tr> |
| <tr id="396"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/396.html">396</a></td> |
| <td>CD1</td> |
| <td>Misleading note regarding use of <TT>auto</TT> for disambiguation</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="397"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/397.html">397</a></td> |
| <td>CD1</td> |
| <td>Same address for string literals from default arguments in inline functions?</td> |
| <td class="unknown-superseded" align="center">Superseded by <a href="#1823">1823</a></td> |
| </tr> |
| <tr id="398"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/398.html">398</a></td> |
| <td>CD1</td> |
| <td>Ambiguous wording on naming a type in deduction</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="399"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/399.html">399</a></td> |
| <td>CD6</td> |
| <td>Destructor lookup redux</td> |
| <td class="full" align="center">Clang 11</td> |
| </tr> |
| <tr id="400"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/400.html">400</a></td> |
| <td>CD1</td> |
| <td>Using-declarations and the "struct hack"</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="401"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/401.html">401</a></td> |
| <td>CD1</td> |
| <td>When is access for template parameter default arguments checked?</td> |
| <td class="full" align="center">Clang 2.8</td> |
| </tr> |
| <tr class="open" id="402"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/402.html">402</a></td> |
| <td>open</td> |
| <td>More on partial ordering of function templates</td> |
| <td align="center">Not resolved</td> |
| </tr> |
| <tr id="403"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/403.html">403</a></td> |
| <td>CD1</td> |
| <td>Reference to a type as a <I>template-id</I></td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="404"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/404.html">404</a></td> |
| <td>CD1</td> |
| <td>Unclear reference to construction with non-trivial constructor</td> |
| <td class="na" align="center">N/A</td> |
| </tr> |
| <tr id="405"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/405.html">405</a></td> |
| <td>CD6</td> |
| <td>Unqualified function name lookup</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="406"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/406.html">406</a></td> |
| <td>CD1</td> |
| <td>Static data member in class with name for linkage purposes</td> |
| <td class="full" align="center">Clang 2.9</td> |
| </tr> |
| <tr id="407"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/407.html">407</a></td> |
| <td>C++11</td> |
| <td>Named class with associated typedef: two names or one?</td> |
| <td class="full" align="center">Clang 3.8</td> |
| </tr> |
| <tr id="408"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/408.html">408</a></td> |
| <td>CD2</td> |
| <td>sizeof applied to unknown-bound array static data member of template</td> |
| <td class="full" align="center">Clang 3.4</td> |
| </tr> |
| <tr id="409"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/409.html">409</a></td> |
| <td>CD1</td> |
| <td>Obsolete paragraph missed by changes for issue 224</td> |
| <td class="full" align="center">Yes</td> |
| </tr> |
| <tr id="410"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/410.html">410</a></td> |
| <td>CD1</td> |
| <td>Paragraph missed in changes for issue 166</td> |
| <td class="none" align="center">No</td> |
| </tr> |
| <tr id="411"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/411.html">411</a></td> |
| <td>CD6</td> |
| <td>Use of universal-character-name in character versus string literals</td> |
| <td class="unknown" align="center">Unknown</td> |
| </tr> |
| <tr id="412"> |
| <td><a href="https://cplusplus.github.io/CWG/issues/412.html">412</a></td> |
| <td>NAD</td> |
| |