Skip to content

Commit

Permalink
[clang][NFC] Fill in historical data on when C++ DRs 400-499 were fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
Endilll committed Dec 4, 2023
1 parent f5868cb commit f9afe40
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 26 deletions.
26 changes: 13 additions & 13 deletions clang/test/CXX/drs/dr4xx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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> > {};
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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}}
Expand Down Expand Up @@ -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 {};
Expand All @@ -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();
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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}}

Expand Down Expand Up @@ -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 {
Expand Down
26 changes: 13 additions & 13 deletions clang/www/cxx_dr_status.html
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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>
Expand Down Expand Up @@ -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-&gt;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>
Expand Down Expand Up @@ -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>
Expand All @@ -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>
Expand Down Expand Up @@ -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>
Expand All @@ -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>
Expand Down Expand Up @@ -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>
Expand All @@ -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>
Expand Down Expand Up @@ -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>
Expand All @@ -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>
Expand Down Expand Up @@ -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>
Expand Down

0 comments on commit f9afe40

Please sign in to comment.