Endill created this revision.
Endill added reviewers: clang-language-wg, shafik.
Herald added a project: All.
Endill requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

P1787 <https://wg21.link/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)


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D148263

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


Index: clang/www/cxx_dr_status.html
===================================================================
--- clang/www/cxx_dr_status.html
+++ clang/www/cxx_dr_status.html
@@ -11861,7 +11861,7 @@
     <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>
Index: clang/test/CXX/drs/dr20xx.cpp
===================================================================
--- clang/test/CXX/drs/dr20xx.cpp
+++ clang/test/CXX/drs/dr20xx.cpp
@@ -19,6 +19,8 @@
 int b = __builtin_addressof(b2)->foo; // expected-error {{no member}}
 }
 
+// dr2009: na
+
 namespace dr2026 { // dr2026: 11
   template<int> struct X {};
 


Index: clang/www/cxx_dr_status.html
===================================================================
--- clang/www/cxx_dr_status.html
+++ clang/www/cxx_dr_status.html
@@ -11861,7 +11861,7 @@
     <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>
Index: clang/test/CXX/drs/dr20xx.cpp
===================================================================
--- clang/test/CXX/drs/dr20xx.cpp
+++ clang/test/CXX/drs/dr20xx.cpp
@@ -19,6 +19,8 @@
 int b = __builtin_addressof(b2)->foo; // expected-error {{no member}}
 }
 
+// dr2009: na
+
 namespace dr2026 { // dr2026: 11
   template<int> struct X {};
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D148263: [clang... Vlad Serebrennikov via Phabricator via cfe-commits

Reply via email to