[clang] 2f9c922 - [clang][NFC] Fill in historical data on when C++ DRs 200-299 were fixed

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Sat Dec 2 10:25:37 PST 2023


Author: Vlad Serebrennikov
Date: 2023-12-02T21:25:00+03:00
New Revision: 2f9c922a12e9f15abe5f6b1a50d684414be47d26

URL: https://github.com/llvm/llvm-project/commit/2f9c922a12e9f15abe5f6b1a50d684414be47d26
DIFF: https://github.com/llvm/llvm-project/commit/2f9c922a12e9f15abe5f6b1a50d684414be47d26.diff

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

Added: 
    

Modified: 
    clang/test/CXX/drs/dr0xx.cpp
    clang/test/CXX/drs/dr1xx.cpp
    clang/test/CXX/drs/dr2xx.cpp
    clang/www/cxx_dr_status.html

Removed: 
    


################################################################################
diff  --git a/clang/test/CXX/drs/dr0xx.cpp b/clang/test/CXX/drs/dr0xx.cpp
index 768da0f8e6fa7..e5f675fb44898 100644
--- a/clang/test/CXX/drs/dr0xx.cpp
+++ b/clang/test/CXX/drs/dr0xx.cpp
@@ -59,7 +59,7 @@ namespace dr3 { // dr3: yes
   // expected-note@#dr3-f-T {{implicit instantiation first required here}}
 }
 
-namespace dr4 { // dr4: yes
+namespace dr4 { // dr4: 2.8
   extern "C" {
     static void dr4_f(int) {}
     static void dr4_f(float) {}
@@ -510,7 +510,7 @@ namespace dr33 { // dr33: 9
 // dr34: na
 // dr35: dup 178
 
-namespace dr36 { // dr36: yes
+namespace dr36 { // dr36: 2.8
 namespace example1 {
   namespace A {
     int i;

diff  --git a/clang/test/CXX/drs/dr1xx.cpp b/clang/test/CXX/drs/dr1xx.cpp
index 4465e7e0f1bfd..064ecace59067 100644
--- a/clang/test/CXX/drs/dr1xx.cpp
+++ b/clang/test/CXX/drs/dr1xx.cpp
@@ -436,17 +436,16 @@ namespace dr126 { // dr126: partial
   // since-cxx17-note at -2 {{use 'noexcept(false)' instead}}
 }
 
-namespace dr127 { // dr127: yes
+namespace dr127 { // dr127: 2.9
   __extension__ typedef __decltype(sizeof(0)) size_t;
   template<typename T> struct A {
     A() { throw 0; }
     void *operator new(size_t, const char * = 0);
     void operator delete(void *, const char *) { T::error; } // #dr127-delete-const-char
     // expected-error@#dr127-delete-const-char {{type 'void' cannot be used prior to '::' because it has no members}}
-    // expected-note@#dr127-p {{in instantiation of member function 'dr127::A<void>::operator delete' requested here}}
-
+    //   expected-note@#dr127-p {{in instantiation of member function 'dr127::A<void>::operator delete' requested here}}
     // expected-error@#dr127-delete-const-char {{type 'int' cannot be used prior to '::' because it has no members}}
-    // expected-note@#dr127-q {{in instantiation of member function 'dr127::A<int>::operator delete' requested here}}
+    //   expected-note@#dr127-q {{in instantiation of member function 'dr127::A<int>::operator delete' requested here}}
     void operator delete(void *) { T::error; }
   };
   A<void> *p = new A<void>; // #dr127-p
@@ -944,7 +943,7 @@ namespace dr169 { // dr169: yes
   };
 }
 
-namespace { // dr171: yes
+namespace { // dr171: 3.4
   int dr171a;
 }
 int dr171b; // #dr171b-int
@@ -1113,7 +1112,7 @@ namespace dr181 { // dr181: yes
   }
 }
 
-namespace dr182 { // dr182: yes
+namespace dr182 { // dr182: 14
   template <class T> struct C {
     void f();
     void g();

diff  --git a/clang/test/CXX/drs/dr2xx.cpp b/clang/test/CXX/drs/dr2xx.cpp
index c03b7b60bcb4f..bbebeb22cef23 100644
--- a/clang/test/CXX/drs/dr2xx.cpp
+++ b/clang/test/CXX/drs/dr2xx.cpp
@@ -25,7 +25,7 @@ namespace dr200 { // dr200: dup 214
 
 // dr201 FIXME: write codegen test
 
-namespace dr202 { // dr202: yes
+namespace dr202 { // dr202: 3.1
   template<typename T> T f();
   template<int (*g)()> struct X {
     int arr[fold(g == &f<int>) ? 1 : -1];
@@ -58,7 +58,7 @@ namespace dr207 { // dr207: yes
 
 // dr208 FIXME: write codegen test
 
-namespace dr209 { // dr209: yes
+namespace dr209 { // dr209: 3.2
   class A {
     void f(); // expected-note {{here}}
   };
@@ -108,7 +108,7 @@ namespace dr214 { // dr214: yes
   }
 }
 
-namespace dr215 { // dr215: yes
+namespace dr215 { // dr215: 2.9
   template<typename T> class X {
     friend void T::foo();
     int n;
@@ -198,7 +198,7 @@ namespace dr218 { // dr218: yes
 // dr219: na
 // dr220: na
 
-namespace dr221 { // dr221: yes
+namespace dr221 { // dr221: 3.6
   struct A { // expected-note 2-4{{candidate}}
     A &operator=(int&); // expected-note 2{{candidate}}
     A &operator+=(int&);
@@ -404,13 +404,13 @@ namespace dr228 { // dr228: yes
   };
 }
 
-namespace dr229 { // dr229: yes
+namespace dr229 { // dr229: 2.9
   template<typename T> void f();
   template<typename T> void f<T*>() {} // expected-error {{function template partial specialization}}
   template<> void f<int>() {}
 }
 
-namespace dr230 { // dr230: yes
+namespace dr230 { // dr230: 3.0
   struct S {
     S() { f(); } // expected-warning {{call to pure virtual member function}}
     virtual void f() = 0; // expected-note {{declared here}}
@@ -430,7 +430,7 @@ namespace dr231 { // dr231: yes
 // dr234: na
 // dr235: na
 
-namespace dr236 { // dr236: yes
+namespace dr236 { // dr236: 3.2
   void *p = int();
 #if __cplusplus < 201103L
   // expected-warning at -2 {{null pointer}}
@@ -586,7 +586,7 @@ namespace dr245 { // dr245: yes
   };
 }
 
-namespace dr246 { // dr246: yes
+namespace dr246 { // dr246: 3.2
   struct S {
     S() try { // expected-note {{try block}}
       throw 0;
@@ -642,7 +642,7 @@ namespace dr250 { // dr250: yes
   FPtr gp = &g<>;
 }
 
-namespace dr252 { // dr252: yes
+namespace dr252 { // dr252: 3.1
   struct A {
     void operator delete(void*); // expected-note {{found}}
   };
@@ -682,7 +682,7 @@ namespace dr252 { // dr252: yes
   G::~G() {}
 }
 
-namespace dr254 { // dr254: yes
+namespace dr254 { // dr254: 2.9
   template<typename T> struct A {
     typedef typename T::type type; // ok even if this is a typedef-name, because
                                    // it's not an elaborated-type-specifier
@@ -704,7 +704,7 @@ void f(S *p) { delete p; }
 
 // dr256: dup 624
 
-namespace dr257 { // dr257: yes
+namespace dr257 { // dr257: 3.4
   struct A { A(int); }; // expected-note {{here}}
   struct B : virtual A {
     B() {}
@@ -719,7 +719,7 @@ namespace dr257 { // dr257: yes
   };
 }
 
-namespace dr258 { // dr258: yes
+namespace dr258 { // dr258: 2.8
   struct A {
     void f(const int);
     template<typename> void g(int);
@@ -818,7 +818,7 @@ namespace dr262 { // dr262: yes
   int m = f(0, 0);
 }
 
-namespace dr263 { // dr263: yes
+namespace dr263 { // dr263: 3.3
   struct X {};
   struct Y {
 #if __cplusplus < 201103L
@@ -921,13 +921,13 @@ namespace dr275 { // dr275: no
 
 // dr276: na
 
-namespace dr277 { // dr277: yes
+namespace dr277 { // dr277: 3.1
   typedef int *intp;
   int *p = intp();
   int a[fold(intp() ? -1 : 1)];
 }
 
-namespace dr280 { // dr280: yes
+namespace dr280 { // dr280: 2.9
   typedef void f0();
   typedef void f1(int);
   typedef void f2(int, int);
@@ -1030,7 +1030,7 @@ namespace dr285 { // dr285: yes
   template<> void f<int>(int, int) {} // expected-error {{ambiguous}}
 }
 
-namespace dr286 { // dr286: yes
+namespace dr286 { // dr286: 2.8
   template<class T> struct A {
     class C {
       template<class T2> struct B {}; // expected-note {{here}}
@@ -1111,7 +1111,7 @@ namespace dr296 { // dr296: yes
   };
 }
 
-namespace dr298 { // dr298: yes
+namespace dr298 { // dr298: 3.1
   struct A {
     typedef int type;
     A();
@@ -1142,7 +1142,7 @@ namespace dr298 { // dr298: yes
   G::~F() {} // ok
 }
 
-namespace dr299 { // dr299: yes c++11
+namespace dr299 { // dr299: 2.8 c++11
   struct S {
     operator int();
   };

diff  --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index c9bfe4c6caa83..e0e7fe14e3e1f 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -61,7 +61,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/4.html">4</a></td>
     <td>CD1</td>
     <td>Does extern "C" affect the linkage of function names with internal linkage?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="5">
     <td><a href="https://cplusplus.github.io/CWG/issues/5.html">5</a></td>
@@ -253,7 +253,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/36.html">36</a></td>
     <td>CD6</td>
     <td><I>using-declaration</I>s in multiple-declaration contexts</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="37">
     <td><a href="https://cplusplus.github.io/CWG/issues/37.html">37</a></td>
@@ -799,7 +799,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/127.html">127</a></td>
     <td>TC1</td>
     <td>Ambiguity in description of matching deallocation function</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="128">
     <td><a href="https://cplusplus.github.io/CWG/issues/128.html">128</a></td>
@@ -1063,7 +1063,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/171.html">171</a></td>
     <td>TC1</td>
     <td>Global namespace scope</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.4</td>
   </tr>
   <tr id="172">
     <td><a href="https://cplusplus.github.io/CWG/issues/172.html">172</a></td>
@@ -1129,7 +1129,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/182.html">182</a></td>
     <td>NAD</td>
     <td>Access checking on explicit specializations</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 14</td>
   </tr>
   <tr id="183">
     <td><a href="https://cplusplus.github.io/CWG/issues/183.html">183</a></td>
@@ -1249,7 +1249,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/202.html">202</a></td>
     <td>TC1</td>
     <td>Use of overloaded function name</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="203">
     <td><a href="https://cplusplus.github.io/CWG/issues/203.html">203</a></td>
@@ -1292,7 +1292,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td>NAD</td>
     <td>Must friend declaration names be
 accessible?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.2</td>
   </tr>
   <tr id="210">
     <td><a href="https://cplusplus.github.io/CWG/issues/210.html">210</a></td>
@@ -1328,7 +1328,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/215.html">215</a></td>
     <td>CD1</td>
     <td>Template parameters are not allowed in <I>nested-name-specifier</I>s</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="216">
     <td><a href="https://cplusplus.github.io/CWG/issues/216.html">216</a></td>
@@ -1364,7 +1364,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/221.html">221</a></td>
     <td>CD1</td>
     <td>Must compound assignment operators be member functions?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.6</td>
   </tr>
   <tr id="222">
     <td><a href="https://cplusplus.github.io/CWG/issues/222.html">222</a></td>
@@ -1412,13 +1412,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/229.html">229</a></td>
     <td>NAD</td>
     <td>Partial specialization of function templates</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="230">
     <td><a href="https://cplusplus.github.io/CWG/issues/230.html">230</a></td>
     <td>NAD</td>
     <td>Calls to pure virtual functions</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="231">
     <td><a href="https://cplusplus.github.io/CWG/issues/231.html">231</a></td>
@@ -1454,7 +1454,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/236.html">236</a></td>
     <td>NAD</td>
     <td>Explicit temporaries and integral constant expressions</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.2</td>
   </tr>
   <tr id="237">
     <td><a href="https://cplusplus.github.io/CWG/issues/237.html">237</a></td>
@@ -1514,7 +1514,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/246.html">246</a></td>
     <td>CD1</td>
     <td>Jumps in <I>function-try-block</I> handlers</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.2</td>
   </tr>
   <tr id="247">
     <td><a href="https://cplusplus.github.io/CWG/issues/247.html">247</a></td>
@@ -1550,7 +1550,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/252.html">252</a></td>
     <td>CD1</td>
     <td>Looking up deallocation functions in virtual destructors</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="253">
     <td><a href="https://cplusplus.github.io/CWG/issues/253.html">253</a></td>
@@ -1562,7 +1562,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/254.html">254</a></td>
     <td>CD1</td>
     <td>Definitional problems with <I>elaborated-type-specifier</I>s</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="255">
     <td><a href="https://cplusplus.github.io/CWG/issues/255.html">255</a></td>
@@ -1580,13 +1580,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/257.html">257</a></td>
     <td>CD2</td>
     <td>Abstract base constructors and virtual base initialization</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.4</td>
   </tr>
   <tr id="258">
     <td><a href="https://cplusplus.github.io/CWG/issues/258.html">258</a></td>
     <td>CD1</td>
     <td><I>using-declaration</I>s and cv-qualifiers</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="259">
     <td><a href="https://cplusplus.github.io/CWG/issues/259.html">259</a></td>
@@ -1616,7 +1616,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/263.html">263</a></td>
     <td>CD1</td>
     <td>Can a constructor be declared a friend?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.3</td>
   </tr>
   <tr class="open" id="264">
     <td><a href="https://cplusplus.github.io/CWG/issues/264.html">264</a></td>
@@ -1701,7 +1701,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/277.html">277</a></td>
     <td>CD1</td>
     <td>Zero-initialization of pointers</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="278">
     <td><a href="https://cplusplus.github.io/CWG/issues/278.html">278</a></td>
@@ -1719,7 +1719,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/280.html">280</a></td>
     <td>CD1</td>
     <td>Access and surrogate call functions</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="281">
     <td><a href="https://cplusplus.github.io/CWG/issues/281.html">281</a></td>
@@ -1755,7 +1755,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/286.html">286</a></td>
     <td>CD1</td>
     <td>Incorrect example in partial specialization</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr class="open" id="287">
     <td><a href="https://cplusplus.github.io/CWG/issues/287.html">287</a></td>
@@ -1827,13 +1827,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/298.html">298</a></td>
     <td>CD1</td>
     <td><TT>T::x</TT> when <TT>T</TT> is cv-qualified</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="299">
     <td><a href="https://cplusplus.github.io/CWG/issues/299.html">299</a></td>
     <td>CD1</td>
     <td>Conversion on array bound expression in <TT>new</TT></td>
-    <td class="full" align="center">Yes (C++11 onwards)</td>
+    <td class="full" align="center">Clang 2.8 (C++11 onwards)</td>
   </tr>
   <tr id="300">
     <td><a href="https://cplusplus.github.io/CWG/issues/300.html">300</a></td>


        


More information about the cfe-commits mailing list