Endill created this revision.
Endill added reviewers: clang-language-wg, shafik, cor3ntin.
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>: CWG2213 is resolved by allowing an
elaborated-type-specifier to contain a simple-template-id without friend.
Wording: see changes to [dcl.type.elab]]/1.
The gist of the issue is that forward declaration of partial class template
specialization was disallowed.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D151032
Files:
clang/test/CXX/drs/dr22xx.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
@@ -13085,7 +13085,7 @@
<td><a
href="https://cplusplus.github.io/CWG/issues/2213.html">2213</a></td>
<td>CD6</td>
<td>Forward declaration of partial specializations</td>
- <td class="none" align="center">Unknown</td>
+ <td class="full" align="center">Yes</td>
</tr>
<tr id="2214">
<td><a
href="https://cplusplus.github.io/CWG/issues/2214.html">2214</a></td>
Index: clang/test/CXX/drs/dr22xx.cpp
===================================================================
--- clang/test/CXX/drs/dr22xx.cpp
+++ clang/test/CXX/drs/dr22xx.cpp
@@ -14,6 +14,14 @@
}
#endif
+namespace dr2213 { // dr2213: yes
+template <typename T, typename U>
+struct A;
+
+template <typename U>
+struct A<int, U>;
+} // namespace dr2213
+
namespace dr2229 { // dr2229: 7
struct AnonBitfieldQualifiers {
const unsigned : 1; // expected-error {{anonymous bit-field cannot have
qualifiers}}
Index: clang/www/cxx_dr_status.html
===================================================================
--- clang/www/cxx_dr_status.html
+++ clang/www/cxx_dr_status.html
@@ -13085,7 +13085,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/2213.html">2213</a></td>
<td>CD6</td>
<td>Forward declaration of partial specializations</td>
- <td class="none" align="center">Unknown</td>
+ <td class="full" align="center">Yes</td>
</tr>
<tr id="2214">
<td><a href="https://cplusplus.github.io/CWG/issues/2214.html">2214</a></td>
Index: clang/test/CXX/drs/dr22xx.cpp
===================================================================
--- clang/test/CXX/drs/dr22xx.cpp
+++ clang/test/CXX/drs/dr22xx.cpp
@@ -14,6 +14,14 @@
}
#endif
+namespace dr2213 { // dr2213: yes
+template <typename T, typename U>
+struct A;
+
+template <typename U>
+struct A<int, U>;
+} // namespace dr2213
+
namespace dr2229 { // dr2229: 7
struct AnonBitfieldQualifiers {
const unsigned : 1; // expected-error {{anonymous bit-field cannot have qualifiers}}
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits