[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