[clang] f9afe40 - [clang][NFC] Fill in historical data on when C++ DRs 400-499 were fixed

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 4 04:15:47 PST 2023


Author: Vlad Serebrennikov
Date: 2023-12-04T15:15:40+03:00
New Revision: f9afe4049a8829aa8dad64b0eb7dccc8dd4a8bbe

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

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

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/clang/test/CXX/drs/dr4xx.cpp b/clang/test/CXX/drs/dr4xx.cpp
index d8bdf49d0b2dd..acb3cbfa52e7f 100644
--- a/clang/test/CXX/drs/dr4xx.cpp
+++ b/clang/test/CXX/drs/dr4xx.cpp
@@ -18,7 +18,7 @@ namespace dr400 { // dr400: yes
   struct E : A, B { struct a b; }; // expected-error {{found in multiple base classes}}
 }
 
-namespace dr401 { // dr401: yes
+namespace dr401 { // dr401: 2.8
   template<class T, class U = typename T::type> class A : public T {}; // expected-error {{protected}} expected-error 2{{private}}
 
   class B {
@@ -114,7 +114,7 @@ namespace dr405 { // dr405: yes
   void testE(E::S es) { f(es); } // expected-error {{undeclared identifier}}
 }
 
-namespace dr406 { // dr406: yes
+namespace dr406 { // dr406: 2.9
   typedef struct {
     static int n; // expected-error {{static data member 'n' not allowed in anonymous struct}}
   } A;
@@ -360,7 +360,7 @@ void use() {
 } // namespace example3
 } // namespace dr418
 
-namespace dr420 { // dr420: yes
+namespace dr420 { // dr420: 9
   template<typename T> struct ptr {
     T *operator->() const;
     T &operator*() const;
@@ -496,7 +496,7 @@ namespace dr428 { // dr428: yes
   }
 }
 
-namespace dr429 { // dr429: yes c++11
+namespace dr429 { // dr429: 2.8 c++11
   // FIXME: This rule is obviously intended to apply to C++98 as well.
   struct A {
     static void *operator new(size_t, size_t);
@@ -552,7 +552,7 @@ namespace dr431 { // dr431: yes
   }
 }
 
-namespace dr432 { // dr432: yes
+namespace dr432 { // dr432: 3.0
   template<typename T> struct A {};
   template<typename T> struct B : A<B> {}; // expected-error {{requires template arguments}} expected-note {{declared}}
   template<typename T> struct C : A<C<T> > {};
@@ -636,14 +636,14 @@ namespace dr444 { // dr444: yes
   }
 }
 
-namespace dr445 { // dr445: yes
+namespace dr445 { // dr445: 3.2
   class A { void f(); }; // expected-note {{private}}
   struct B {
     friend void A::f(); // expected-error {{private}}
   };
 }
 
-namespace dr446 { // dr446: yes
+namespace dr446 { // dr446: 2.8
   struct C;
   struct A {
     A();
@@ -695,7 +695,7 @@ namespace dr447 { // dr447: yes
   }
 }
 
-namespace dr448 { // dr448: yes
+namespace dr448 { // dr448: 2.8
   template<typename T = int> void f(int); // expected-error 0-1{{extension}} expected-note {{no known conversion}}
   template<typename T> void g(T t) {
     f<T>(t); // expected-error {{neither visible in the template definition nor found by argument-dependent lookup}}
@@ -908,7 +908,7 @@ namespace dr470 { // dr470: yes
   template struct C<char>;
 }
 
-namespace dr471 { // dr471: yes
+namespace dr471 { // dr471: 2.8
   struct A { int n; };
   struct B : private virtual A {};
   struct C : protected virtual A {};
@@ -924,7 +924,7 @@ namespace dr471 { // dr471: yes
   struct H : B, G { int f() { return n; } }; // expected-error {{private}}
 }
 
-namespace dr474 { // dr474: yes
+namespace dr474 { // dr474: 3.4
   namespace N {
     struct S {
       void f();
@@ -960,7 +960,7 @@ namespace dr478 { // dr478: yes
   void f(A a[10]); // expected-error {{array of abstract class type}}
 }
 
-namespace dr479 { // dr479: yes
+namespace dr479 { // dr479: 2.8
   struct S {
     S();
   private:
@@ -1016,7 +1016,7 @@ namespace dr480 { // dr480: yes
   D &k = static_cast<D&>(j); // expected-error {{virtual base}}
 }
 
-namespace dr481 { // dr481: yes
+namespace dr481 { // dr481: 2.8
   template<class T, T U> class A { T *x; };
   T *x; // expected-error {{unknown type}}
 
@@ -1194,7 +1194,7 @@ namespace dr488 { // dr488: yes c++11
 
 // dr489: na
 
-namespace dr490 { // dr490: yes
+namespace dr490 { // dr490: 2.8
   template<typename T> struct X {};
 
   struct A {

diff  --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index 2b757df8f3df9..4d918224ded46 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -2445,7 +2445,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/401.html">401</a></td>
     <td>CD1</td>
     <td>When is access for template parameter default arguments checked?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr class="open" id="402">
     <td><a href="https://cplusplus.github.io/CWG/issues/402.html">402</a></td>
@@ -2475,7 +2475,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/406.html">406</a></td>
     <td>CD1</td>
     <td>Static data member in class with name for linkage purposes</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="407">
     <td><a href="https://cplusplus.github.io/CWG/issues/407.html">407</a></td>
@@ -2559,7 +2559,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/420.html">420</a></td>
     <td>CD1</td>
     <td>postfixexpression->scalar_type_dtor() inconsistent</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 9</td>
   </tr>
   <tr id="421">
     <td><a href="https://cplusplus.github.io/CWG/issues/421.html">421</a></td>
@@ -2613,7 +2613,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/429.html">429</a></td>
     <td>CD1</td>
     <td>Matching deallocation function chosen based on syntax or signature?</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="430">
     <td><a href="https://cplusplus.github.io/CWG/issues/430.html">430</a></td>
@@ -2631,7 +2631,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/432.html">432</a></td>
     <td>CD1</td>
     <td>Is injected class name visible in base class specifier list?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="433">
     <td><a href="https://cplusplus.github.io/CWG/issues/433.html">433</a></td>
@@ -2709,13 +2709,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/445.html">445</a></td>
     <td>NAD</td>
     <td>Wording issue on friend declarations</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.2</td>
   </tr>
   <tr id="446">
     <td><a href="https://cplusplus.github.io/CWG/issues/446.html">446</a></td>
     <td>CD1</td>
     <td>Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="447">
     <td><a href="https://cplusplus.github.io/CWG/issues/447.html">447</a></td>
@@ -2727,7 +2727,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/448.html">448</a></td>
     <td>C++11</td>
     <td>Set of template functions in call with dependent explicit argument</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="449">
     <td><a href="https://cplusplus.github.io/CWG/issues/449.html">449</a></td>
@@ -2865,7 +2865,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/471.html">471</a></td>
     <td>NAD</td>
     <td>Conflicting inherited access specifications</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr class="open" id="472">
     <td><a href="https://cplusplus.github.io/CWG/issues/472.html">472</a></td>
@@ -2883,7 +2883,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/474.html">474</a></td>
     <td>CD1</td>
     <td>Block-scope <TT>extern</TT> declarations in namespace members</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.4</td>
   </tr>
   <tr id="475">
     <td><a href="https://cplusplus.github.io/CWG/issues/475.html">475</a></td>
@@ -2913,7 +2913,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/479.html">479</a></td>
     <td>CD1</td>
     <td>Copy elision in exception handling</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="480">
     <td><a href="https://cplusplus.github.io/CWG/issues/480.html">480</a></td>
@@ -2925,7 +2925,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/481.html">481</a></td>
     <td>CD2</td>
     <td>Scope of template parameters</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="482">
     <td><a href="https://cplusplus.github.io/CWG/issues/482.html">482</a></td>
@@ -2979,7 +2979,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/490.html">490</a></td>
     <td>CD2</td>
     <td>Name lookup in friend declarations</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="491">
     <td><a href="https://cplusplus.github.io/CWG/issues/491.html">491</a></td>


        


More information about the cfe-commits mailing list