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
