[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