[clang] c79f94d - [clang][NFC] Fill in historical data on when C++ DRs 700-1999 were fixed

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 7 13:38:48 PST 2023


Author: Vlad Serebrennikov
Date: 2023-12-08T00:38:42+03:00
New Revision: c79f94d85121347d28f894d837f173f90f368e92

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

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

Added: 
    

Modified: 
    clang/test/CXX/drs/dr11xx.cpp
    clang/test/CXX/drs/dr12xx.cpp
    clang/test/CXX/drs/dr13xx.cpp
    clang/test/CXX/drs/dr14xx.cpp
    clang/test/CXX/drs/dr15xx.cpp
    clang/test/CXX/drs/dr16xx.cpp
    clang/test/CXX/drs/dr18xx.cpp
    clang/test/CXX/drs/dr19xx.cpp
    clang/test/CXX/drs/dr25xx.cpp
    clang/test/CXX/drs/dr412.cpp
    clang/test/CXX/drs/dr8xx.cpp
    clang/test/CXX/drs/dr9xx.cpp
    clang/www/cxx_dr_status.html

Removed: 
    


################################################################################
diff  --git a/clang/test/CXX/drs/dr11xx.cpp b/clang/test/CXX/drs/dr11xx.cpp
index 23756ff1927ec..2e35535a18c4a 100644
--- a/clang/test/CXX/drs/dr11xx.cpp
+++ b/clang/test/CXX/drs/dr11xx.cpp
@@ -4,7 +4,7 @@
 // RUN: %clang_cc1 -std=c++17 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors
 // RUN: %clang_cc1 -std=c++2a %s -verify -fexceptions -fcxx-exceptions -pedantic-errors
 
-namespace dr1111 { // dr1111: yes
+namespace dr1111 { // dr1111: 3.2
 namespace example1 {
 template <typename> struct set;
 

diff  --git a/clang/test/CXX/drs/dr12xx.cpp b/clang/test/CXX/drs/dr12xx.cpp
index c23a515ba56cb..339712be45b38 100644
--- a/clang/test/CXX/drs/dr12xx.cpp
+++ b/clang/test/CXX/drs/dr12xx.cpp
@@ -81,7 +81,7 @@ void g() {
 #endif
 
 #if __cplusplus >= 201103L
-namespace dr1227 { // dr1227: yes
+namespace dr1227 { // dr1227: 3.0
 template <class T> struct A { using X = typename T::X; }; // expected-error {{type 'int' cannot be used prior to '::' because it has no members}}
 template <class T> typename T::X f(typename A<T>::X);
 template <class T> void f(...) { }

diff  --git a/clang/test/CXX/drs/dr13xx.cpp b/clang/test/CXX/drs/dr13xx.cpp
index 3510695954e27..abee100961602 100644
--- a/clang/test/CXX/drs/dr13xx.cpp
+++ b/clang/test/CXX/drs/dr13xx.cpp
@@ -14,7 +14,7 @@ namespace std {
 }
 
 #if __cplusplus >= 201103L
-namespace dr1305 { // dr1305: yes
+namespace dr1305 { // dr1305: 3.0
 struct Incomplete; // expected-note {{forward declaration of 'dr1305::Incomplete'}}
 struct Complete {};
 
@@ -297,7 +297,7 @@ namespace dr1346 { // dr1346: 3.5
 #endif
 }
 
-namespace dr1347 { // dr1347: yes
+namespace dr1347 { // dr1347: 3.1
   auto x = 5, *y = &x; // expected-error 0-1{{extension}}
   auto z = y, *q = y; // expected-error {{'auto' deduced as 'int *' in declaration of 'z' and deduced as 'int' in declaration of 'q'}} expected-error 0-1{{extension}}
 #if __cplusplus >= 201103L
@@ -306,7 +306,7 @@ namespace dr1347 { // dr1347: yes
 #endif
 }
 
-namespace dr1358 { // dr1358: yes
+namespace dr1358 { // dr1358: 3.1
 #if __cplusplus >= 201103L
   struct Lit { constexpr operator int() const { return 0; } };
   struct NonLit { NonLit(); operator int(); }; // expected-note 2{{no constexpr constructors}}

diff  --git a/clang/test/CXX/drs/dr14xx.cpp b/clang/test/CXX/drs/dr14xx.cpp
index ea41a03d3587a..7dd7da95d034d 100644
--- a/clang/test/CXX/drs/dr14xx.cpp
+++ b/clang/test/CXX/drs/dr14xx.cpp
@@ -484,11 +484,11 @@ namespace dr1467 {  // dr1467: 3.7 c++11
 #endif
 } // dr1467
 
-namespace dr1479 { // dr1479: yes
+namespace dr1479 { // dr1479: 3.1
   int operator"" _a(const char*, std::size_t = 0); // expected-error {{literal operator cannot have a default argument}}
 }
 
-namespace dr1482 { // dr1482: yes
+namespace dr1482 { // dr1482: 3.0
                    // NB: sup 2516, test reused there
 #if __cplusplus >= 201103L
 template <typename T> struct S {

diff  --git a/clang/test/CXX/drs/dr15xx.cpp b/clang/test/CXX/drs/dr15xx.cpp
index c588891a75d6a..a53b14694998b 100644
--- a/clang/test/CXX/drs/dr15xx.cpp
+++ b/clang/test/CXX/drs/dr15xx.cpp
@@ -233,7 +233,7 @@ namespace std_example {
 #endif                      // __cplusplus >= 201103L
 }
 
-namespace dr1550 { // dr1550: yes
+namespace dr1550 { // dr1550: 3.4
   int f(bool b, int n) {
     return (b ? (throw 0) : n) + (b ? n : (throw 0));
   }

diff  --git a/clang/test/CXX/drs/dr16xx.cpp b/clang/test/CXX/drs/dr16xx.cpp
index 463353dab3b16..cbf0b487ba155 100644
--- a/clang/test/CXX/drs/dr16xx.cpp
+++ b/clang/test/CXX/drs/dr16xx.cpp
@@ -68,7 +68,7 @@ namespace dr1631 {  // dr1631: 3.7
 #endif
 }
 
-namespace dr1638 { // dr1638: yes
+namespace dr1638 { // dr1638: 3.1
 #if __cplusplus >= 201103L
   template<typename T> struct A {
     enum class E; // expected-note {{previous}}

diff  --git a/clang/test/CXX/drs/dr18xx.cpp b/clang/test/CXX/drs/dr18xx.cpp
index 7ac2673738228..49c1167220875 100644
--- a/clang/test/CXX/drs/dr18xx.cpp
+++ b/clang/test/CXX/drs/dr18xx.cpp
@@ -62,7 +62,7 @@ namespace dr1815 { // dr1815: no
 #endif
 }
 
-namespace dr1821 { // dr1821: yes
+namespace dr1821 { // dr1821: 2.9
 struct A {
   template <typename> struct B {
     void f();

diff  --git a/clang/test/CXX/drs/dr19xx.cpp b/clang/test/CXX/drs/dr19xx.cpp
index b15be762ecd10..73aa20cc58e2d 100644
--- a/clang/test/CXX/drs/dr19xx.cpp
+++ b/clang/test/CXX/drs/dr19xx.cpp
@@ -64,7 +64,7 @@ namespace dr1903 {
   }
 }
 
-namespace dr1909 { // dr1909: yes
+namespace dr1909 { // dr1909: 3.7
   struct A {
     template<typename T> struct A {}; // expected-error {{member 'A' has the same name as its class}}
   };
@@ -79,7 +79,7 @@ namespace dr1909 { // dr1909: yes
   };
 }
 
-namespace dr1940 { // dr1940: yes
+namespace dr1940 { // dr1940: 3.5
 #if __cplusplus >= 201103L
 static union {
   static_assert(true, "");  // ok
@@ -119,7 +119,7 @@ derived d2(42, 9);
 #endif
 }
 
-namespace dr1947 { // dr1947: yes
+namespace dr1947 { // dr1947: 3.5
 #if __cplusplus >= 201402L
 unsigned o = 0'01;  // ok
 unsigned b = 0b'01; // expected-error {{invalid digit 'b' in octal constant}}
@@ -128,7 +128,7 @@ unsigned x = 0x'01; // expected-error {{invalid suffix 'x'01' on integer constan
 }
 
 #if __cplusplus >= 201103L
-// dr1948: yes
+// dr1948: 3.5
 // FIXME: This diagnostic could be improved.
 void *operator new(__SIZE_TYPE__) noexcept { return nullptr; } // expected-error{{exception specification in declaration does not match previous declaration}}
 #endif

diff  --git a/clang/test/CXX/drs/dr25xx.cpp b/clang/test/CXX/drs/dr25xx.cpp
index 3644e4c328b1b..0204ecaf63618 100644
--- a/clang/test/CXX/drs/dr25xx.cpp
+++ b/clang/test/CXX/drs/dr25xx.cpp
@@ -10,7 +10,7 @@
 // expected-no-diagnostics
 #endif
 
-namespace dr2516 { // dr2516: yes
+namespace dr2516 { // dr2516: 3.0
                    // NB: reusing 1482 test
 #if __cplusplus >= 201103L
 template <typename T> struct S {

diff  --git a/clang/test/CXX/drs/dr412.cpp b/clang/test/CXX/drs/dr412.cpp
index 27bc7e5cf94e0..af385ff463c73 100644
--- a/clang/test/CXX/drs/dr412.cpp
+++ b/clang/test/CXX/drs/dr412.cpp
@@ -3,7 +3,7 @@
 // RUN: %clang_cc1 -std=c++14 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -DNOEXCEPT=noexcept -DBAD_ALLOC=
 // RUN: %clang_cc1 -std=c++1z %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -DNOEXCEPT=noexcept -DBAD_ALLOC=
 
-// dr412: yes
+// dr412: 3.4
 // lwg404: yes
 // lwg2340: yes
 

diff  --git a/clang/test/CXX/drs/dr8xx.cpp b/clang/test/CXX/drs/dr8xx.cpp
index d79430f9e03ca..11948d0410eb5 100644
--- a/clang/test/CXX/drs/dr8xx.cpp
+++ b/clang/test/CXX/drs/dr8xx.cpp
@@ -8,7 +8,7 @@
 
 // expected-no-diagnostics
 
-namespace dr873 { // dr873: yes
+namespace dr873 { // dr873: 3.0
 #if __cplusplus >= 201103L
 template <typename T> void f(T &&);
 template <> void f(int &) {}  // #1

diff  --git a/clang/test/CXX/drs/dr9xx.cpp b/clang/test/CXX/drs/dr9xx.cpp
index fb13ef2967f88..e526582292480 100644
--- a/clang/test/CXX/drs/dr9xx.cpp
+++ b/clang/test/CXX/drs/dr9xx.cpp
@@ -43,7 +43,7 @@ namespace dr948 { // dr948: 3.7
 #endif
 }
 
-namespace dr952 { // dr952: yes
+namespace dr952 { // dr952: 2.8
 namespace example1 {
 struct A {
   typedef int I; // #dr952-typedef-decl

diff  --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index aafed2b6869e4..3f519ff06742f 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -2511,7 +2511,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/412.html">412</a></td>
     <td>NAD</td>
     <td>Can a replacement allocation function be inline?</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.4</td>
   </tr>
   <tr id="413">
     <td><a href="https://cplusplus.github.io/CWG/issues/413.html">413</a></td>
@@ -5117,7 +5117,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/873.html">873</a></td>
     <td>C++11</td>
     <td>Deducing rvalue references in declarative contexts</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="874">
     <td><a href="https://cplusplus.github.io/CWG/issues/874.html">874</a></td>
@@ -5519,7 +5519,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/952.html">952</a></td>
     <td>CD6</td>
     <td>Insufficient description of “naming class”</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.8</td>
   </tr>
   <tr id="953">
     <td><a href="https://cplusplus.github.io/CWG/issues/953.html">953</a></td>
@@ -6473,7 +6473,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1111.html">1111</a></td>
     <td>C++11</td>
     <td>Remove dual-scope lookup of member template names</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.2</td>
   </tr>
   <tr id="1112">
     <td><a href="https://cplusplus.github.io/CWG/issues/1112.html">1112</a></td>
@@ -7169,7 +7169,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1227.html">1227</a></td>
     <td>CD3</td>
     <td>Mixing immediate and non-immediate contexts in deduction failure</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="1228">
     <td><a href="https://cplusplus.github.io/CWG/issues/1228.html">1228</a></td>
@@ -7637,7 +7637,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1305.html">1305</a></td>
     <td>CD3</td>
     <td><TT>alignof</TT> applied to array of unknown size</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="1306">
     <td><a href="https://cplusplus.github.io/CWG/issues/1306.html">1306</a></td>
@@ -7889,7 +7889,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1347.html">1347</a></td>
     <td>CD3</td>
     <td>Consistency of <TT>auto</TT> in multiple-declarator declarations</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr class="open" id="1348">
     <td><a href="https://cplusplus.github.io/CWG/issues/1348.html">1348</a></td>
@@ -7955,7 +7955,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1358.html">1358</a></td>
     <td>CD3</td>
     <td>Unintentionally ill-formed <TT>constexpr</TT> function template instances</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="1359">
     <td><a href="https://cplusplus.github.io/CWG/issues/1359.html">1359</a></td>
@@ -8681,7 +8681,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1479.html">1479</a></td>
     <td>CD3</td>
     <td>Literal operators and default arguments</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="1480">
     <td><a href="https://cplusplus.github.io/CWG/issues/1480.html">1480</a></td>
@@ -8699,7 +8699,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1482.html">1482</a></td>
     <td>CD3</td>
     <td>Point of declaration of enumeration</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="1483">
     <td><a href="https://cplusplus.github.io/CWG/issues/1483.html">1483</a></td>
@@ -9107,7 +9107,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1550.html">1550</a></td>
     <td>CD3</td>
     <td>Parenthesized <I>throw-expression</I> operand of <I>conditional-expression</I></td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.4</td>
   </tr>
   <tr id="1551">
     <td><a href="https://cplusplus.github.io/CWG/issues/1551.html">1551</a></td>
@@ -9635,7 +9635,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1638.html">1638</a></td>
     <td>CD4</td>
     <td>Declaring an explicit specialization of a scoped enumeration</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.1</td>
   </tr>
   <tr id="1639">
     <td><a href="https://cplusplus.github.io/CWG/issues/1639.html">1639</a></td>
@@ -10733,7 +10733,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1821.html">1821</a></td>
     <td>CD6</td>
     <td>Qualified redeclarations in a class <I>member-specification</I></td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 2.9</td>
   </tr>
   <tr id="1822">
     <td><a href="https://cplusplus.github.io/CWG/issues/1822.html">1822</a></td>
@@ -11261,7 +11261,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1909.html">1909</a></td>
     <td>CD4</td>
     <td>Member class template with the same name as the class</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.7</td>
   </tr>
   <tr id="1910">
     <td><a href="https://cplusplus.github.io/CWG/issues/1910.html">1910</a></td>
@@ -11447,7 +11447,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1940.html">1940</a></td>
     <td>CD4</td>
     <td><TT>static_assert</TT> in anonymous unions</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.5</td>
   </tr>
   <tr id="1941">
     <td><a href="https://cplusplus.github.io/CWG/issues/1941.html">1941</a></td>
@@ -11489,13 +11489,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/1947.html">1947</a></td>
     <td>NAD</td>
     <td>Digit separators following non-octal prefix</td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.5</td>
   </tr>
   <tr id="1948">
     <td><a href="https://cplusplus.github.io/CWG/issues/1948.html">1948</a></td>
     <td>NAD</td>
     <td><I>exception-specification</I> of replacement global <TT>new</TT></td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.5</td>
   </tr>
   <tr id="1949">
     <td><a href="https://cplusplus.github.io/CWG/issues/1949.html">1949</a></td>
@@ -14903,7 +14903,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2>
     <td><a href="https://cplusplus.github.io/CWG/issues/2516.html">2516</a></td>
     <td>C++23</td>
     <td>Locus of <I>enum-specifier</I> or <I>opaque-enum-declaration</I></td>
-    <td class="full" align="center">Yes</td>
+    <td class="full" align="center">Clang 3.0</td>
   </tr>
   <tr id="2517">
     <td><a href="https://cplusplus.github.io/CWG/issues/2517.html">2517</a></td>


        


More information about the cfe-commits mailing list