[clang] 94708fb - [clang][NFC] Fill in historical data on when C++ DRs 600-699 were fixed

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 5 06:16:16 PST 2023


Author: Vlad Serebrennikov
Date: 2023-12-05T17:16:10+03:00
New Revision: 94708fbc0fa06b18c9b263ecb78d20a95a194e7f

URL: https://github.com/llvm/llvm-project/commit/94708fbc0fa06b18c9b263ecb78d20a95a194e7f
DIFF: https://github.com/llvm/llvm-project/commit/94708fbc0fa06b18c9b263ecb78d20a95a194e7f.diff

LOG: [clang][NFC] Fill in historical data on when C++ DRs 600-699 were fixed

Added: 
    

Modified: 
    clang/test/CXX/drs/dr6xx.cpp
    clang/www/cxx_dr_status.html

Removed: 
    


################################################################################
diff  --git a/clang/test/CXX/drs/dr6xx.cpp b/clang/test/CXX/drs/dr6xx.cpp
index c5cd478c5e331..4cba1f057cb27 100644
--- a/clang/test/CXX/drs/dr6xx.cpp
+++ b/clang/test/CXX/drs/dr6xx.cpp
@@ -5,7 +5,7 @@
 // RUN: %clang_cc1 -std=c++20 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -fno-spell-checking
 // RUN: %clang_cc1 -std=c++23 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -fno-spell-checking
 
-namespace dr600 { // dr600: yes
+namespace dr600 { // dr600: 2.8
 struct S {
   void f(int);
 
@@ -82,7 +82,7 @@ namespace dr603 { // dr603: yes
 // dr604: na
 // dr605 needs IRGen test
 
-namespace dr606 { // dr606: yes
+namespace dr606 { // dr606: 3.0
 #if __cplusplus >= 201103L
   template<typename T> struct S {};
   template<typename T> void f(S<T> &&); // expected-note {{expects an rvalue}}
@@ -266,7 +266,7 @@ namespace dr627 { // dr627: yes
 
 // dr628: na
 
-namespace dr629 { // dr629: yes
+namespace dr629 { // dr629: 2.9
   typedef int T;
   int n = 1;
   void f() {
@@ -399,7 +399,7 @@ namespace dr638 { // dr638: no
   };
 }
 
-namespace dr639 { // dr639: yes
+namespace dr639 { // dr639: 3.3
   void f(int i) {
     void((i = 0) + (i = 0)); // expected-warning {{unsequenced}}
   }
@@ -462,7 +462,7 @@ namespace dr642 { // dr642: yes
 }
 
 #if __cplusplus >= 201103L
-namespace dr643 { // dr643: yes
+namespace dr643 { // dr643: 3.2
   struct A {
     int x;
     auto f() -> decltype(this->x);
@@ -522,7 +522,7 @@ namespace dr646 { // dr646: sup 981
 #endif
 
 #if __cplusplus >= 201103L
-namespace dr647 { // dr647: yes
+namespace dr647 { // dr647: 3.1
   // This is partially superseded by dr1358.
   struct A {
     constexpr virtual void f() const;
@@ -594,7 +594,7 @@ namespace dr648 { // dr648: yes
 #endif
 
 #if __cplusplus >= 201103L
-namespace dr649 { // dr649: yes
+namespace dr649 { // dr649: 3.5
 alignas(0x200000000) int n;       // expected-error {{requested alignment}}1
 struct alignas(0x200000000) X {}; // expected-error {{requested alignment}}
 struct Y {
@@ -728,7 +728,7 @@ namespace dr657 { // dr657: partial
 // dr658 FIXME: add codegen test
 
 #if __cplusplus >= 201103L
-namespace dr659 { // dr659: yes
+namespace dr659 { // dr659: 3.0
   static_assert(alignof(char) == alignof(char&), "");
   static_assert(alignof(int) == alignof(int&), "");
   int n = alignof(int(&)()); // expected-error {{application of 'alignof' to a function type}}
@@ -738,7 +738,7 @@ namespace dr659 { // dr659: yes
 #endif
 
 #if __cplusplus >= 201103L
-namespace dr660 { // dr660: yes
+namespace dr660 { // dr660: 3.0
   enum : int { a };
   enum class { b }; // expected-error {{requires a name}}
   auto x = a;
@@ -779,7 +779,7 @@ namespace dr664 { // dr664: yes
 }
 #endif
 
-namespace dr665 { // dr665: yes
+namespace dr665 { // dr665: 2.8
   struct A { virtual ~A(); };
   struct B : A {} *b;
   struct C : private A {} *c; // expected-note {{here}}
@@ -799,7 +799,7 @@ namespace dr665 { // dr665: yes
   }
 }
 
-namespace dr666 { // dr666: yes
+namespace dr666 { // dr666: 2.8
   struct P { friend P operator*(P, P); P(int); } p(0);
 
   template<int> int f();
@@ -816,7 +816,7 @@ namespace dr666 { // dr666: yes
 
 // Triviality is entirely 
diff erent in C++98.
 #if __cplusplus >= 201103L
-namespace dr667 { // dr667: yes
+namespace dr667 { // dr667: 8
   struct A {
     A() = default; // expected-warning {{explicitly defaulted default constructor is implicitly deleted}} expected-note{{replace 'default'}}
     int &r; // expected-note {{because field 'r' of reference type 'int &' would not be initialized}}
@@ -868,7 +868,7 @@ namespace dr669 { // dr669: yes
 }
 #endif
 
-namespace dr671 { // dr671: yes
+namespace dr671 { // dr671: 2.9
   enum class E { e }; // expected-error 0-1 {{C++11}}
   E e = static_cast<E>(0);
   int n = static_cast<int>(E::e); // expected-error 0-1 {{C++11}}
@@ -1064,7 +1064,7 @@ namespace dr685 { // dr685: yes
   int x = k(g);
 }
 
-namespace dr686 { // dr686: yes
+namespace dr686 { // dr686: 3.0
   void f() {
     (void)dynamic_cast<struct A*>(0); // expected-error {{incomplete}} expected-note {{forward}}
     (void)dynamic_cast<struct A{}*>(0); // expected-error {{cannot be defined in a type specifier}}
@@ -1190,7 +1190,7 @@ namespace dr692 { // dr692: 16
   }
 }
 
-namespace dr696 { // dr696: yes
+namespace dr696 { // dr696: 3.1
   void f(const int*);
   void g() {
     const int N = 10; // expected-note 1+{{here}}

diff  --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index 0d315a82eeaba..aafed2b6869e4 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -3641,7 +3641,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/600.html">600</a></td>
     <td>CD6</td>
     <td>Does access control apply to members or to names?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="601">
     <td><a href="https://cplusplus.github.io/CWG/issues/601.html">601</a></td>
@@ -3677,7 +3677,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/606.html">606</a></td>
     <td>CD1</td>
     <td>Template argument deduction for rvalue references</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="607">
     <td><a href="https://cplusplus.github.io/CWG/issues/607.html">607</a></td>
@@ -3815,7 +3815,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/629.html">629</a></td>
     <td>CD1</td>
     <td><TT>auto</TT> parsing ambiguity</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="630">
     <td><a href="https://cplusplus.github.io/CWG/issues/630.html">630</a></td>
@@ -3875,7 +3875,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/639.html">639</a></td>
     <td>CD1</td>
     <td>What makes side effects “
diff erent” from one another?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.3</td>
   </tr>
   <tr id="640">
     <td><a href="https://cplusplus.github.io/CWG/issues/640.html">640</a></td>
@@ -3899,7 +3899,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/643.html">643</a></td>
     <td>NAD</td>
     <td>Use of <TT>decltype</TT> in a class <I>member-specification</I></td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.2</td>
   </tr>
   <tr id="644">
     <td><a href="https://cplusplus.github.io/CWG/issues/644.html">644</a></td>
@@ -3923,7 +3923,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/647.html">647</a></td>
     <td>CD1</td>
     <td>Non-constexpr instances of constexpr constructor templates</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="648">
     <td><a href="https://cplusplus.github.io/CWG/issues/648.html">648</a></td>
@@ -3935,7 +3935,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/649.html">649</a></td>
     <td>CD1</td>
     <td>Optionally ill-formed extended alignment requests</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.5</td>
   </tr>
   <tr id="650">
     <td><a href="https://cplusplus.github.io/CWG/issues/650.html">650</a></td>
@@ -3995,13 +3995,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/659.html">659</a></td>
     <td>CD1</td>
     <td>Alignment of function types</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="660">
     <td><a href="https://cplusplus.github.io/CWG/issues/660.html">660</a></td>
     <td>CD1</td>
     <td>Unnamed scoped enumerations</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="661">
     <td><a href="https://cplusplus.github.io/CWG/issues/661.html">661</a></td>
@@ -4031,19 +4031,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/665.html">665</a></td>
     <td>CD2</td>
     <td>Problems in the specification of <TT>dynamic_cast</TT></td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="666">
     <td><a href="https://cplusplus.github.io/CWG/issues/666.html">666</a></td>
     <td>CD1</td>
     <td>Dependent <I>qualified-id</I>s without the <TT>typename</TT> keyword</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="667">
     <td><a href="https://cplusplus.github.io/CWG/issues/667.html">667</a></td>
     <td>CD2</td>
     <td>Trivial special member functions that cannot be implicitly defined</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 8</td>
   </tr>
   <tr id="668">
     <td><a href="https://cplusplus.github.io/CWG/issues/668.html">668</a></td>
@@ -4067,7 +4067,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/671.html">671</a></td>
     <td>CD1</td>
     <td>Explicit conversion from a scoped enumeration type to integral type</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="672">
     <td><a href="https://cplusplus.github.io/CWG/issues/672.html">672</a></td>
@@ -4157,7 +4157,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/686.html">686</a></td>
     <td>CD1</td>
     <td>Type declarations/definitions in <I>type-specifier-seq</I>s and <I>type-id</I>s</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="687">
     <td><a href="https://cplusplus.github.io/CWG/issues/687.html">687</a></td>
@@ -4217,7 +4217,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/696.html">696</a></td>
     <td>C++11</td>
     <td>Use of block-scope constants in local classes</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr class="open" id="697">
     <td><a href="https://cplusplus.github.io/CWG/issues/697.html">697</a></td>


        


More information about the cfe-commits mailing list