https://github.com/localspook updated 
https://github.com/llvm/llvm-project/pull/197015

>From 6f9a0c88f35270f161e70b9b9726a92df7b27545 Mon Sep 17 00:00:00 2001
From: Victor Chernyakin <[email protected]>
Date: Mon, 11 May 2026 11:56:03 -0700
Subject: [PATCH 1/4] [clang][NFC] Mark CWG743 as implemented and add a test

---
 clang/test/CXX/drs/cwg7xx.cpp | 10 ++++++++++
 clang/www/cxx_dr_status.html  |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/clang/test/CXX/drs/cwg7xx.cpp b/clang/test/CXX/drs/cwg7xx.cpp
index 39fcc53cae2ea..12896d8a222ed 100644
--- a/clang/test/CXX/drs/cwg7xx.cpp
+++ b/clang/test/CXX/drs/cwg7xx.cpp
@@ -335,6 +335,16 @@ namespace cwg727 { // cwg727: partial
   Collision<int, int> c; // #cwg727-Collision-int-int
 } // namespace cwg727
 
+namespace cwg743 { // cwg743: 3.1
+#if __cplusplus >= 201103L
+struct S {
+  using T = int;
+};
+
+decltype(S())::T i;
+#endif
+} // namespace cwg743
+
 namespace cwg777 { // cwg777: 3.7
 #if __cplusplus >= 201103L
 template <typename... T>
diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index 9f3cd07ea8a4e..8ce3e9f5e54e4 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -5230,7 +5230,7 @@ <h2 id="cxxdr">C++ defect report implementation 
status</h2>
     <td>[<a 
href="https://wg21.link/expr.prim.general";>expr.prim.general</a>]</td>
     <td>CD2</td>
     <td>Use of <TT>decltype</TT> in a <I>nested-name-specifier</I></td>
-    <td class="unknown" align="center">Unknown</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="744">
     <td><a href="https://cplusplus.github.io/CWG/issues/744.html";>744</a></td>

>From 4155ccb325850a3cc2ff6d6d75ae936b9358f7cf Mon Sep 17 00:00:00 2001
From: Victor Chernyakin <[email protected]>
Date: Mon, 11 May 2026 12:17:56 -0700
Subject: [PATCH 2/4] Also mark CWG950 as implemented

---
 clang/test/CXX/drs/cwg9xx.cpp | 7 +++++++
 clang/www/cxx_dr_status.html  | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/clang/test/CXX/drs/cwg9xx.cpp b/clang/test/CXX/drs/cwg9xx.cpp
index c8fdca3a45c3e..3179269cc158f 100644
--- a/clang/test/CXX/drs/cwg9xx.cpp
+++ b/clang/test/CXX/drs/cwg9xx.cpp
@@ -51,6 +51,13 @@ namespace cwg948 { // cwg948: 3.7
 #endif
 } // namespace cwg948
 
+namespace cwg950 { // cwg950: 3.1
+#if __cplusplus >= 201103L
+struct A {};
+struct B : decltype(A()) {};
+#endif
+} // namespace cwg950
+
 namespace cwg952 { // cwg952: 2.8
 namespace example1 {
 struct A {
diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index 8ce3e9f5e54e4..6fcf982ec76d7 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -6427,7 +6427,7 @@ <h2 id="cxxdr">C++ defect report implementation 
status</h2>
     <td>[<a href="https://wg21.link/dcl.type.simple";>dcl.type.simple</a>]</td>
     <td>CD2</td>
     <td>Use of <TT>decltype</TT> as a <I>class-name</I></td>
-    <td class="unknown" align="center">Unknown</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="951">
     <td><a href="https://cplusplus.github.io/CWG/issues/951.html";>951</a></td>

>From c947c2b273f66aab493e910dbb9e4b56c89d6089 Mon Sep 17 00:00:00 2001
From: Victor Chernyakin <[email protected]>
Date: Tue, 12 May 2026 05:56:17 -0700
Subject: [PATCH 3/4] Add tests with dependent base

---
 clang/test/CXX/drs/cwg9xx.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/clang/test/CXX/drs/cwg9xx.cpp b/clang/test/CXX/drs/cwg9xx.cpp
index 3179269cc158f..c81bfeb536711 100644
--- a/clang/test/CXX/drs/cwg9xx.cpp
+++ b/clang/test/CXX/drs/cwg9xx.cpp
@@ -55,6 +55,9 @@ namespace cwg950 { // cwg950: 3.1
 #if __cplusplus >= 201103L
 struct A {};
 struct B : decltype(A()) {};
+
+template <typename T>
+struct C : decltype(T()) {};
 #endif
 } // namespace cwg950
 

>From b745017e77488f503510d1fdf484a88bbfe8873e Mon Sep 17 00:00:00 2001
From: Victor Chernyakin <[email protected]>
Date: Tue, 12 May 2026 06:04:21 -0700
Subject: [PATCH 4/4] Add dependent test for CWG743 as well

---
 clang/test/CXX/drs/cwg7xx.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/clang/test/CXX/drs/cwg7xx.cpp b/clang/test/CXX/drs/cwg7xx.cpp
index 12896d8a222ed..09869128f6054 100644
--- a/clang/test/CXX/drs/cwg7xx.cpp
+++ b/clang/test/CXX/drs/cwg7xx.cpp
@@ -342,6 +342,9 @@ struct S {
 };
 
 decltype(S())::T i;
+
+template <typename T>
+using foo = typename decltype(T())::I;
 #endif
 } // namespace cwg743
 

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to