Endill created this revision.
Endill added a reviewer: clang-language-wg.
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>: CWG191 and CWG1200 are resolved by defining 
unqualified lookup in terms of every enclosing scope.
Wording: If no declarations are found, the results of the unqualified search 
are the results of an unqualified search in the parent scope of S, if any, from 
P. ([basic.lookup.unqual]/2)


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D147530

Files:
  clang/test/CXX/drs/dr1xx.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
@@ -1183,7 +1183,7 @@
     <td><a href="https://wg21.link/cwg191";>191</a></td>
     <td>CD6</td>
     <td>Name lookup does not handle complex nesting</td>
-    <td class="none" align="center">Unknown</td>
+    <td class="full" align="center">Yes</td>
   </tr>
   <tr id="192">
     <td><a href="https://wg21.link/cwg192";>192</a></td>
Index: clang/test/CXX/drs/dr1xx.cpp
===================================================================
--- clang/test/CXX/drs/dr1xx.cpp
+++ clang/test/CXX/drs/dr1xx.cpp
@@ -999,6 +999,36 @@
 
 // dr190 FIXME: add codegen test for tbaa
 
+int dr191_j;
+namespace dr191 { // dr191: yes
+  namespace example1 {
+    struct outer {
+      static int i;
+      struct inner {
+        void f() {
+          struct local {
+            void g() {
+              i = 5;
+            }
+          };
+        }
+      };
+    };
+  }
+
+  namespace example2 {
+    struct S {
+      void f() {
+        struct local2 {
+          void g() {
+            dr191_j = 5;
+          }
+        };
+      }
+    };
+  }
+}
+
 // dr193 FIXME: add codegen test
 
 namespace dr194 { // dr194: yes


Index: clang/www/cxx_dr_status.html
===================================================================
--- clang/www/cxx_dr_status.html
+++ clang/www/cxx_dr_status.html
@@ -1183,7 +1183,7 @@
     <td><a href="https://wg21.link/cwg191";>191</a></td>
     <td>CD6</td>
     <td>Name lookup does not handle complex nesting</td>
-    <td class="none" align="center">Unknown</td>
+    <td class="full" align="center">Yes</td>
   </tr>
   <tr id="192">
     <td><a href="https://wg21.link/cwg192";>192</a></td>
Index: clang/test/CXX/drs/dr1xx.cpp
===================================================================
--- clang/test/CXX/drs/dr1xx.cpp
+++ clang/test/CXX/drs/dr1xx.cpp
@@ -999,6 +999,36 @@
 
 // dr190 FIXME: add codegen test for tbaa
 
+int dr191_j;
+namespace dr191 { // dr191: yes
+  namespace example1 {
+    struct outer {
+      static int i;
+      struct inner {
+        void f() {
+          struct local {
+            void g() {
+              i = 5;
+            }
+          };
+        }
+      };
+    };
+  }
+
+  namespace example2 {
+    struct S {
+      void f() {
+        struct local2 {
+          void g() {
+            dr191_j = 5;
+          }
+        };
+      }
+    };
+  }
+}
+
 // dr193 FIXME: add codegen test
 
 namespace dr194 { // dr194: yes
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to