[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