[clang] [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (PR #97200)

Mital Ashok via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 30 02:41:41 PDT 2024


https://github.com/MitalAshok created https://github.com/llvm/llvm-project/pull/97200

Also classes the "ready" status similarly to "tentatively ready" in make_cxx_dr_status


>From 0dea95701ca4dfca9b7d0bd889003fc35aa3017e Mon Sep 17 00:00:00 2001
From: Mital Ashok <mital at mitalashok.co.uk>
Date: Sun, 30 Jun 2024 10:39:15 +0100
Subject: [PATCH] [NFC] [Clang] Some core issues have changed status from
 tentatively ready -> ready / review

---
 clang/test/CXX/drs/cwg25xx.cpp |   2 +-
 clang/test/CXX/drs/cwg28xx.cpp |  16 ++--
 clang/www/cxx_dr_status.html   | 130 +++++++++++++++++++++++----------
 clang/www/make_cxx_dr_status   |   6 +-
 4 files changed, 104 insertions(+), 50 deletions(-)

diff --git a/clang/test/CXX/drs/cwg25xx.cpp b/clang/test/CXX/drs/cwg25xx.cpp
index 0934f0cc19c6a..5f8a058f8157a 100644
--- a/clang/test/CXX/drs/cwg25xx.cpp
+++ b/clang/test/CXX/drs/cwg25xx.cpp
@@ -139,7 +139,7 @@ struct D3 : B {
 #endif
 
 #if __cplusplus >= 202302L
-namespace cwg2561 { // cwg2561: no tentatively ready 2024-03-18
+namespace cwg2561 { // cwg2561: no ready 2024-03-18
 struct C {
     constexpr C(auto) { }
 };
diff --git a/clang/test/CXX/drs/cwg28xx.cpp b/clang/test/CXX/drs/cwg28xx.cpp
index c77bd433d8e21..524e67b52de51 100644
--- a/clang/test/CXX/drs/cwg28xx.cpp
+++ b/clang/test/CXX/drs/cwg28xx.cpp
@@ -30,7 +30,7 @@ using U2 = decltype(&main);
 #endif
 } // namespace cwg2811
 
-namespace cwg2819 { // cwg2819: 19 tentatively ready 2023-12-01
+namespace cwg2819 { // cwg2819: 19 ready 2023-12-01
 #if __cpp_constexpr >= 202306L
   constexpr void* p = nullptr;
   constexpr int* q = static_cast<int*>(p);
@@ -111,7 +111,7 @@ struct D : N::B {
 #endif
 } // namespace cwg2857
 
-namespace cwg2858 { // cwg2858: 19 tentatively ready 2024-04-05
+namespace cwg2858 { // cwg2858: 19 ready 2024-04-05
 
 #if __cplusplus > 202302L
 
@@ -134,7 +134,7 @@ struct A {
 
 } // namespace cwg2858
 
-namespace cwg2877 { // cwg2877: 19 tentatively ready 2024-05-31
+namespace cwg2877 { // cwg2877: 19 ready 2024-05-31
 #if __cplusplus >= 202002L
 enum E { x };
 void f() {
@@ -150,7 +150,7 @@ void g() {
 #endif
 } // namespace cwg2877
 
-namespace cwg2881 { // cwg2881: 19 tentatively ready 2024-04-19
+namespace cwg2881 { // cwg2881: 19 ready 2024-04-19
 
 #if __cplusplus >= 202302L
 
@@ -220,7 +220,7 @@ void f() {
 
 } // namespace cwg2881
 
-namespace cwg2882 { // cwg2882: 2.7 tentatively ready 2024-05-31
+namespace cwg2882 { // cwg2882: 2.7 ready 2024-05-31
 struct C {
   operator void() = delete;
   // expected-warning at -1 {{conversion function converting 'cwg2882::C' to 'void' will never be used}}
@@ -232,7 +232,7 @@ void f(C c) {
 }
 } // namespace cwg2882
 
-namespace cwg2883 { // cwg2883: no tentatively ready 2024-05-31
+namespace cwg2883 { // cwg2883: no ready 2024-05-31
 #if __cplusplus >= 201103L
 void f() {
   int x;
@@ -257,7 +257,7 @@ void g() {
 #endif
 } // namespace cwg2883
 
-namespace cwg2885 { // cwg2885: 16 tentatively ready 2024-05-31
+namespace cwg2885 { // cwg2885: 16 review 2024-05-31
 #if __cplusplus >= 202002L
 template <class T>
 struct A {
@@ -271,7 +271,7 @@ static_assert(!__is_trivially_constructible(B));
 #endif
 } // namespace cwg2885
 
-namespace cwg2886 { // cwg2886: 9 tentatively ready 2024-05-31
+namespace cwg2886 { // cwg2886: 9 ready 2024-05-31
 #if __cplusplus >= 201103L
 struct C {
   C() = default;
diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index 937f67981e296..64b361976a5a5 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -1442,7 +1442,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="233">
     <td><a href="https://cplusplus.github.io/CWG/issues/233.html">233</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>References vs pointers in UDC overload resolution</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -7329,11 +7329,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td>Overloading member function templates based on dependent return type</td>
     <td class="unknown" align="center">Unknown</td>
   </tr>
-  <tr class="open" id="1253">
+  <tr id="1253">
     <td><a href="https://cplusplus.github.io/CWG/issues/1253.html">1253</a></td>
-    <td>open</td>
+    <td>C++17</td>
     <td>Generic non-template members</td>
-    <td align="center">Not resolved</td>
+    <td class="unknown" align="center">Unknown</td>
   </tr>
   <tr id="1254">
     <td><a href="https://cplusplus.github.io/CWG/issues/1254.html">1254</a></td>
@@ -12677,7 +12677,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2144">
     <td><a href="https://cplusplus.github.io/CWG/issues/2144.html">2144</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Function/variable declaration ambiguity</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -15179,7 +15179,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2561">
     <td><a href="https://cplusplus.github.io/CWG/issues/2561.html">2561</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Conversion to function pointer for lambda with explicit object parameter</td>
     <td title="Clang does not implement 2024-03-18 resolution" align="center">Not Resolved*</td>
   </tr>
@@ -15341,7 +15341,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2588">
     <td><a href="https://cplusplus.github.io/CWG/issues/2588.html">2588</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>friend declarations and module linkage</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -15541,7 +15541,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/2621.html">2621</a></td>
     <td>C++23</td>
     <td>Kind of lookup for <TT>using enum</TT> declarations</td>
-    <td title="Clang 19 implements 2024-05-31 resolution" align="center">Superseded by <a href="#2877">2877</a></td>
+    <td class="-superseded" align="center">Superseded by <a href="#2877">2877</a></td>
   </tr>
   <tr id="2622">
     <td><a href="https://cplusplus.github.io/CWG/issues/2622.html">2622</a></td>
@@ -16181,7 +16181,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2728">
     <td><a href="https://cplusplus.github.io/CWG/issues/2728.html">2728</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Evaluation of conversions in a <I>delete-expression</I></td>
     <td align="center">Not resolved</td>
   </tr>
@@ -16698,13 +16698,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2814">
     <td><a href="https://cplusplus.github.io/CWG/issues/2814.html">2814</a></td>
-    <td>tentatively ready</td>
+    <td>review</td>
     <td>Alignment requirement of incomplete class type</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2815">
     <td><a href="https://cplusplus.github.io/CWG/issues/2815.html">2815</a></td>
-    <td>open</td>
+    <td>drafting</td>
     <td>Overload resolution for references/pointers to <TT>noexcept</TT> functions</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -16722,13 +16722,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2818">
     <td><a href="https://cplusplus.github.io/CWG/issues/2818.html">2818</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Use of predefined reserved identifiers</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2819">
     <td><a href="https://cplusplus.github.io/CWG/issues/2819.html">2819</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Cast from null pointer value in a constant expression</td>
     <td title="Clang 19 implements 2023-12-01 resolution" align="center">Not Resolved*</td>
   </tr>
@@ -16830,7 +16830,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2836">
     <td><a href="https://cplusplus.github.io/CWG/issues/2836.html">2836</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Conversion rank of <TT>long double</TT> and extended floating-point types</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -16962,13 +16962,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2858">
     <td><a href="https://cplusplus.github.io/CWG/issues/2858.html">2858</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Declarative <I>nested-name-specifier</I>s and <I>pack-index-specifier</I>s</td>
     <td title="Clang 19 implements 2024-04-05 resolution" align="center">Not Resolved*</td>
   </tr>
   <tr class="open" id="2859">
     <td><a href="https://cplusplus.github.io/CWG/issues/2859.html">2859</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Value-initialization with multiple default constructors</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -16980,13 +16980,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2861">
     <td><a href="https://cplusplus.github.io/CWG/issues/2861.html">2861</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td><TT>dynamic_cast</TT> on bad pointer value</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2862">
     <td><a href="https://cplusplus.github.io/CWG/issues/2862.html">2862</a></td>
-    <td>tentatively ready</td>
+    <td>drafting</td>
     <td>Unclear boundaries of template declarations</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -16998,13 +16998,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2864">
     <td><a href="https://cplusplus.github.io/CWG/issues/2864.html">2864</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Narrowing floating-point conversions</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2865">
     <td><a href="https://cplusplus.github.io/CWG/issues/2865.html">2865</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Regression on result of conditional operator</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17016,7 +17016,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2867">
     <td><a href="https://cplusplus.github.io/CWG/issues/2867.html">2867</a></td>
-    <td>review</td>
+    <td>ready</td>
     <td>Order of initialization for structured bindings</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17028,25 +17028,25 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2869">
     <td><a href="https://cplusplus.github.io/CWG/issues/2869.html">2869</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td><TT>this</TT> in local classes</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2870">
     <td><a href="https://cplusplus.github.io/CWG/issues/2870.html">2870</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Combining absent <I>encoding-prefix</I>es</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2871">
     <td><a href="https://cplusplus.github.io/CWG/issues/2871.html">2871</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>User-declared constructor templates inhibiting default constructors</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2872">
     <td><a href="https://cplusplus.github.io/CWG/issues/2872.html">2872</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Linkage and unclear "can be referred to"</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17058,25 +17058,25 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2874">
     <td><a href="https://cplusplus.github.io/CWG/issues/2874.html">2874</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Qualified declarations of partial specializations</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2875">
     <td><a href="https://cplusplus.github.io/CWG/issues/2875.html">2875</a></td>
-    <td>tentatively ready</td>
+    <td>review</td>
     <td>Missing support for round-tripping null pointer values through indirection/address operators</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2876">
     <td><a href="https://cplusplus.github.io/CWG/issues/2876.html">2876</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Disambiguation of <TT>T x = delete("text")</TT></td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2877">
     <td><a href="https://cplusplus.github.io/CWG/issues/2877.html">2877</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Type-only lookup for <I>using-enum-declarator</I></td>
     <td title="Clang 19 implements 2024-05-31 resolution" align="center">Not Resolved*</td>
   </tr>
@@ -17100,19 +17100,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2881">
     <td><a href="https://cplusplus.github.io/CWG/issues/2881.html">2881</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Type restrictions for the explicit object parameter of a lambda</td>
     <td title="Clang 19 implements 2024-04-19 resolution" align="center">Not Resolved*</td>
   </tr>
   <tr class="open" id="2882">
     <td><a href="https://cplusplus.github.io/CWG/issues/2882.html">2882</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Unclear treatment of conversion to <TT>void</TT></td>
     <td title="Clang 2.7 implements 2024-05-31 resolution" align="center">Not Resolved*</td>
   </tr>
   <tr class="open" id="2883">
     <td><a href="https://cplusplus.github.io/CWG/issues/2883.html">2883</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Definition of "odr-usable" ignores lambda scopes</td>
     <td title="Clang does not implement 2024-05-31 resolution" align="center">Not Resolved*</td>
   </tr>
@@ -17124,19 +17124,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2885">
     <td><a href="https://cplusplus.github.io/CWG/issues/2885.html">2885</a></td>
-    <td>tentatively ready</td>
+    <td>review</td>
     <td>Non-eligible trivial default constructors</td>
     <td title="Clang 16 implements 2024-05-31 resolution" align="center">Not Resolved*</td>
   </tr>
   <tr class="open" id="2886">
     <td><a href="https://cplusplus.github.io/CWG/issues/2886.html">2886</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Temporaries and trivial potentially-throwing special member functions</td>
     <td title="Clang 9 implements 2024-05-31 resolution" align="center">Not Resolved*</td>
   </tr>
   <tr class="open" id="2887">
     <td><a href="https://cplusplus.github.io/CWG/issues/2887.html">2887</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Missing compatibility entries for xvalues</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17160,13 +17160,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2891">
     <td><a href="https://cplusplus.github.io/CWG/issues/2891.html">2891</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Normative status of implementation limits</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2892">
     <td><a href="https://cplusplus.github.io/CWG/issues/2892.html">2892</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Unclear usual arithmetic conversions</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17184,7 +17184,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2895">
     <td><a href="https://cplusplus.github.io/CWG/issues/2895.html">2895</a></td>
-    <td>tentatively ready</td>
+    <td>ready</td>
     <td>Initialization should ignore the destination type's cv-qualification</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17235,6 +17235,60 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td>tentatively ready</td>
     <td>Can we omit the <TT>template</TT> disambiguator in <I>nested-name-specifier</I>s in type-only contexts?</td>
     <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2904">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2904.html">2904</a></td>
+    <td>open</td>
+    <td>Introducing <I>template-name</I>s</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2905">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2905.html">2905</a></td>
+    <td>tentatively ready</td>
+    <td>Value-dependence of <I>noexcept-expression</I></td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2906">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2906.html">2906</a></td>
+    <td>tentatively ready</td>
+    <td>Lvalue-to-rvalue conversion of class types for conditional operator</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2907">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2907.html">2907</a></td>
+    <td>open</td>
+    <td>Constant lvalue-to-rvalue conversion on uninitialized <TT>std::nullptr_t</TT></td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2908">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2908.html">2908</a></td>
+    <td>open</td>
+    <td>Counting physical source lines for <TT>__LINE__</TT></td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2909">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2909.html">2909</a></td>
+    <td>open</td>
+    <td>Subtle difference between constant-initialized and constexpr</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2910">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2910.html">2910</a></td>
+    <td>open</td>
+    <td>Effect of <I>requirement-parameter-list</I>s on odr-usability</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2911">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2911.html">2911</a></td>
+    <td>open</td>
+    <td>Unclear meaning of expressions "appearing within" subexpressions</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2912">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2912.html">2912</a></td>
+    <td>open</td>
+    <td>Too-large value for size in array new</td>
+    <td align="center">Not resolved</td>
   </tr></table>
 
 </div>
diff --git a/clang/www/make_cxx_dr_status b/clang/www/make_cxx_dr_status
index 1d337fc4e5f87..fe267a6ddbfb2 100755
--- a/clang/www/make_cxx_dr_status
+++ b/clang/www/make_cxx_dr_status
@@ -145,10 +145,10 @@ def availability(issue):
 
   unresolved_status = ''
   proposed_resolution = ''
-  unresolved_status_match = re.search(r' (open|drafting|review|tentatively ready)', status)
+  unresolved_status_match = re.search(r' (open|drafting|review|tentatively ready|ready)', status)
   if unresolved_status_match:
     unresolved_status = unresolved_status_match.group(1)
-    proposed_resolution_match = re.search(r' (open|drafting|review|tentatively ready) (\d{4}-\d{2}(?:-\d{2})?|P\d{4}R\d+)$', status)
+    proposed_resolution_match = re.search(r' (open|drafting|review|tentatively ready|ready) (\d{4}-\d{2}(?:-\d{2})?|P\d{4}R\d+)$', status)
     if proposed_resolution_match is None:
       raise AvailabilityError('Issue {}: \'{}\' status should be followed by a paper number (P1234R5) or proposed resolution in YYYY-MM-DD format'.format(dr.issue, unresolved_status))
     proposed_resolution = proposed_resolution_match.group(2)
@@ -246,7 +246,7 @@ for dr in drs:
     avail = 'Extension'
     avail_style = ''
 
-  elif dr.status in ('open', 'drafting', 'review', 'tentatively ready'):
+  elif dr.status in ('open', 'drafting', 'review', 'tentatively ready', 'ready'):
     row_style = ' class="open"'
     try:
       avail, avail_style, unresolved_status, tooltip = availability(dr.issue)



More information about the cfe-commits mailing list