[clang] 0a113c4 - [clang] Mark CWG2009 as N/A

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 24 01:53:10 PDT 2023


Author: Vlad Serebrennikov
Date: 2023-04-24T11:53:04+03:00
New Revision: 0a113c4c50f65a7d26d20be84bfb56562154753f

URL: https://github.com/llvm/llvm-project/commit/0a113c4c50f65a7d26d20be84bfb56562154753f
DIFF: https://github.com/llvm/llvm-project/commit/0a113c4c50f65a7d26d20be84bfb56562154753f.diff

LOG: [clang] Mark CWG2009 as N/A

[[https://wg21.link/p1787 | P1787]]: CWG2331 is resolved by defining lookup from complete-class contexts and out-of-line member definitions. The rest of CWG2009 is resolved by making it ill-formed NDR for forward lookup outside a complete-class context to change the results (before overload resolution, to avoid differences in instantiation).
Wording: The result of the search is the declaration set of S(N, T). If it is an invalid set, the program is ill-formed. If it differs from the result of a search in T for N from immediately after the class-specifier of T, the program is ill-formed, no diagnostic required. ([class.member.lookup]/7)

Reviewed By: #clang-language-wg, shafik

Differential Revision: https://reviews.llvm.org/D148263

Added: 
    

Modified: 
    clang/test/CXX/drs/dr20xx.cpp
    clang/www/cxx_dr_status.html

Removed: 
    


################################################################################
diff  --git a/clang/test/CXX/drs/dr20xx.cpp b/clang/test/CXX/drs/dr20xx.cpp
index 2d3398cda5413..aea1e23527181 100644
--- a/clang/test/CXX/drs/dr20xx.cpp
+++ b/clang/test/CXX/drs/dr20xx.cpp
@@ -19,6 +19,8 @@ int a = b2[0]; // expected-error {{does not provide a subscript operator}}
 int b = __builtin_addressof(b2)->foo; // expected-error {{no member}}
 }
 
+// dr2009: na
+
 namespace dr2026 { // dr2026: 11
   template<int> struct X {};
 

diff  --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index 855a4408fc245..29532e4e42299 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -11861,7 +11861,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/2009.html">2009</a></td>
     <td>CD6</td>
     <td>Unclear specification of class scope</td>
-    <td class="none" align="center">Unknown</td>
+    <td class="na" align="center">N/A</td>
   </tr>
   <tr id="2010">
     <td><a href="https://cplusplus.github.io/CWG/issues/2010.html">2010</a></td>


        


More information about the cfe-commits mailing list