Skip to content

[clang] Update C++ DR page #106299

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 28, 2024
Merged

[clang] Update C++ DR page #106299

merged 1 commit into from
Aug 28, 2024

Conversation

Endilll
Copy link
Contributor

@Endilll Endilll commented Aug 27, 2024

CWG2917 got a new proposed resolution that is different from the one the test has been written against.

CWG2922 apparently the initial "possible resolution" was approved without changes.

@Endilll Endilll added clang Clang issues not falling into any other category c++ labels Aug 27, 2024
@Endilll Endilll requested review from cor3ntin and Sirraide August 27, 2024 22:22
@llvmbot
Copy link
Member

llvmbot commented Aug 27, 2024

@llvm/pr-subscribers-clang

Author: Vlad Serebrennikov (Endilll)

Changes

CWG2917 got a new proposed resolution that is different from the one the test has been written against.

CWG2922 apparently the initial "possible resolution" was approved without changes.


Full diff: https://github.com/llvm/llvm-project/pull/106299.diff

2 Files Affected:

  • (modified) clang/test/CXX/drs/cwg29xx.cpp (+2-2)
  • (modified) clang/www/cxx_dr_status.html (+42-12)
diff --git a/clang/test/CXX/drs/cwg29xx.cpp b/clang/test/CXX/drs/cwg29xx.cpp
index 2515785f47bf19..ca598bb39a6c31 100644
--- a/clang/test/CXX/drs/cwg29xx.cpp
+++ b/clang/test/CXX/drs/cwg29xx.cpp
@@ -6,7 +6,7 @@
 // RUN: %clang_cc1 -std=c++23 -pedantic-errors -verify=expected %s
 // RUN: %clang_cc1 -std=c++2c -pedantic-errors -verify=expected %s
 
-namespace cwg2917 { // cwg2917: 20 open 2024-07-30
+namespace cwg2917 { // cwg2917: 20 review 2024-07-30
 template <typename>
 class Foo;
 
@@ -33,7 +33,7 @@ void *operator new(std::size_t, void *p) { return p; }
 void* operator new[] (std::size_t, void* p) {return p;}
 
 
-namespace cwg2922 { // cwg2922: 20 open 2024-07-10
+namespace cwg2922 { // cwg2922: 20 tentatively ready 2024-07-10
 union U { int a, b; };
 constexpr U nondeterministic(bool i) {
   if(i) {
diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index 395b5d3bff49a6..124df56bb609c0 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -17208,7 +17208,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2899">
     <td><a href="https://cplusplus.github.io/CWG/issues/2899.html">2899</a></td>
-    <td>open</td>
+    <td>tentatively ready</td>
     <td>Bad value representations should cause undefined behavior</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17220,7 +17220,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2901">
     <td><a href="https://cplusplus.github.io/CWG/issues/2901.html">2901</a></td>
-    <td>open</td>
+    <td>review</td>
     <td>Unclear semantics for near-match aliased access</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17262,7 +17262,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2908">
     <td><a href="https://cplusplus.github.io/CWG/issues/2908.html">2908</a></td>
-    <td>open</td>
+    <td>tentatively ready</td>
     <td>Counting physical source lines for <TT>__LINE__</TT></td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17292,43 +17292,43 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2913">
     <td><a href="https://cplusplus.github.io/CWG/issues/2913.html">2913</a></td>
-    <td>open</td>
+    <td>tentatively ready</td>
     <td>Grammar for <I>deduction-guide</I> has <I>requires-clause</I> in the wrong position</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2914">
     <td><a href="https://cplusplus.github.io/CWG/issues/2914.html">2914</a></td>
-    <td>open</td>
+    <td>review</td>
     <td>Unclear order of initialization of static and thread-local variables</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2915">
     <td><a href="https://cplusplus.github.io/CWG/issues/2915.html">2915</a></td>
-    <td>open</td>
+    <td>tentatively ready</td>
     <td>Explicit object parameters of type <TT>void</TT></td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2916">
     <td><a href="https://cplusplus.github.io/CWG/issues/2916.html">2916</a></td>
-    <td>open</td>
+    <td>tentatively ready</td>
     <td>Variable template partial specializations should not be declared <TT>static</TT></td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2917">
     <td><a href="https://cplusplus.github.io/CWG/issues/2917.html">2917</a></td>
-    <td>open</td>
+    <td>review</td>
     <td>Disallow multiple <I>friend-type-specifier</I>s for a friend template</td>
     <td title="Clang 20 implements 2024-07-30 resolution" align="center">Not Resolved*</td>
   </tr>
   <tr class="open" id="2918">
     <td><a href="https://cplusplus.github.io/CWG/issues/2918.html">2918</a></td>
-    <td>open</td>
+    <td>review</td>
     <td>Consideration of constraints for address of overloaded function</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2919">
     <td><a href="https://cplusplus.github.io/CWG/issues/2919.html">2919</a></td>
-    <td>open</td>
+    <td>tentatively ready</td>
     <td>Conversion function candidates for initialization of const lvalue reference</td>
     <td align="center">Not resolved</td>
   </tr>
@@ -17340,15 +17340,45 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
   </tr>
   <tr class="open" id="2921">
     <td><a href="https://cplusplus.github.io/CWG/issues/2921.html">2921</a></td>
-    <td>open</td>
+    <td>tentatively ready</td>
     <td>Exporting redeclarations of entities not attached to a named module</td>
     <td align="center">Not resolved</td>
   </tr>
   <tr class="open" id="2922">
     <td><a href="https://cplusplus.github.io/CWG/issues/2922.html">2922</a></td>
-    <td>open</td>
+    <td>tentatively ready</td>
     <td>constexpr placement-new is too permissive</td>
     <td title="Clang 20 implements 2024-07-10 resolution" align="center">Not Resolved*</td>
+  </tr>
+  <tr class="open" id="2923">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2923.html">2923</a></td>
+    <td>open</td>
+    <td>Note about infinite loops and execution steps</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2924">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2924.html">2924</a></td>
+    <td>open</td>
+    <td>Undefined behavior during constant evaluation</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2925">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2925.html">2925</a></td>
+    <td>open</td>
+    <td>Deleting a pointer to an incomplete enumeration type</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2926">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2926.html">2926</a></td>
+    <td>open</td>
+    <td>Lookup context for dependent qualified names</td>
+    <td align="center">Not resolved</td>
+  </tr>
+  <tr class="open" id="2927">
+    <td><a href="https://cplusplus.github.io/CWG/issues/2927.html">2927</a></td>
+    <td>open</td>
+    <td>Unclear status of translation unit with <TT>module</TT> keyword</td>
+    <td align="center">Not resolved</td>
   </tr></table>
 
 </div>

@Endilll Endilll merged commit 9cf052d into llvm:main Aug 28, 2024
11 checks passed
@Endilll Endilll deleted the update-cxx-dr-status branch August 28, 2024 10:01
Endilll added a commit that referenced this pull request Aug 28, 2024
This patch updates `make_cxx_dr_status` script to use the same
spoiler-like way to hide additional details that `cxx_status.html` uses.
This gives implemented yet unresolved DRs new but very familiar look:

![s9EpO0E](https://github.com/user-attachments/assets/54852d7b-5fdd-4595-8dca-20628797f952)

I also took an opportunity to fix spelling inconsistency pointed out by
@zygoloid in
#106299 (comment).

I got tired of counting `%s`s when we substitute data into HTML
template, so I replaced them with an f-string (available since Python
3.6), because I had to touch this code anyway.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants