Author: Vlad Serebrennikov Date: 2023-12-05T00:42:13+03:00 New Revision: e77bfaaf9d66748fc2dc3a710a0c9b4665dd3034
URL: https://github.com/llvm/llvm-project/commit/e77bfaaf9d66748fc2dc3a710a0c9b4665dd3034 DIFF: https://github.com/llvm/llvm-project/commit/e77bfaaf9d66748fc2dc3a710a0c9b4665dd3034.diff LOG: [clang][NFC] Fill in historical data on when C++ DRs 500-599 were fixed Added: Modified: clang/test/CXX/drs/dr5xx.cpp clang/www/cxx_dr_status.html Removed: ################################################################################ diff --git a/clang/test/CXX/drs/dr5xx.cpp b/clang/test/CXX/drs/dr5xx.cpp index a3563481eac68..204d07f04f4e5 100644 --- a/clang/test/CXX/drs/dr5xx.cpp +++ b/clang/test/CXX/drs/dr5xx.cpp @@ -381,7 +381,7 @@ namespace dr532 { // dr532: 3.5 // dr533: na -namespace dr534 { // dr534: yes +namespace dr534 { // dr534: 2.9 struct S {}; template<typename T> void operator+(S, T); template<typename T> void operator+<T*>(S, T*) {} // expected-error {{function template partial spec}} @@ -511,7 +511,7 @@ namespace dr542 { // dr542: yes #endif } -namespace dr543 { // dr543: yes +namespace dr543 { // dr543: 3.0 // In C++98+DR543, this is valid because value-initialization doesn't call a // trivial default constructor, so we never notice that defining the // constructor would be ill-formed. @@ -544,7 +544,7 @@ namespace dr546 { // dr546: yes template<typename T> void A<T>::f() { T::error; } } -namespace dr547 { // dr547: yes +namespace dr547 { // dr547: 3.2 template<typename T> struct X; template<typename T> struct X<T() const> {}; template<typename T, typename C> X<T> f(T C::*) { return X<T>(); } @@ -607,7 +607,7 @@ namespace dr553 { // dr554: na // dr556: na -namespace dr557 { // dr557: yes +namespace dr557 { // dr557: 3.1 template<typename T> struct S { friend void f(S<T> *); friend void g(S<S<T> > *); @@ -618,7 +618,7 @@ namespace dr557 { // dr557: yes } } -namespace dr558 { // dr558: yes +namespace dr558 { // dr558: 2.9 wchar_t a = L'\uD7FF'; wchar_t b = L'\xD7FF'; wchar_t c = L'\uD800'; // expected-error {{invalid universal character}} @@ -674,7 +674,7 @@ namespace dr566 { // dr566: yes // dr567: na -namespace dr568 { // dr568: yes c++11 +namespace dr568 { // dr568: 3.0 c++11 // FIXME: This is a DR issue against C++98, so should probably apply there // too. struct x { int y; }; @@ -762,7 +762,7 @@ namespace dr573 { // dr573: no template<int*> struct T; } -namespace dr574 { // dr574: yes +namespace dr574 { // dr574: 3.0 struct A { A &operator=(const A&) const; // expected-note {{ diff erent qualifiers}} }; @@ -827,13 +827,13 @@ namespace dr575 { // dr575: yes void *p = h((void*)0); } -namespace dr576 { // dr576: yes +namespace dr576 { // dr576: 3.5 typedef void f() {} // expected-error {{function definition declared 'typedef'}} void f(typedef int n); // expected-error {{invalid storage class}} void f(char c) { typedef int n; } } -namespace dr577 { // dr577: yes +namespace dr577 { // dr577: 3.5 typedef void V; typedef const void CV; void a(void); @@ -910,7 +910,7 @@ namespace dr583 { // dr583: 4 // dr584: na -namespace dr585 { // dr585: yes +namespace dr585 { // dr585: 3.0 template<typename> struct T; struct A { friend T; @@ -938,7 +938,7 @@ namespace dr585 { // dr585: yes // dr586: na -namespace dr587 { // dr587: yes +namespace dr587 { // dr587: 3.2 template<typename T> void f(bool b, const T x, T y) { const T *p = &(b ? x : y); } diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index 4d918224ded46..0d315a82eeaba 100755 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -3243,7 +3243,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/534.html">534</a></td> <td>CD1</td> <td><I>template-name</I>s and <I>operator-function-id</I>s</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 2.9</td> </tr> <tr id="535"> <td><a href="https://cplusplus.github.io/CWG/issues/535.html">535</a></td> @@ -3299,7 +3299,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/543.html">543</a></td> <td>CD1</td> <td>Value initialization and default constructors</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.0</td> </tr> <tr id="544"> <td><a href="https://cplusplus.github.io/CWG/issues/544.html">544</a></td> @@ -3323,7 +3323,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/547.html">547</a></td> <td>C++11</td> <td>Partial specialization on member function types</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.2</td> </tr> <tr id="548"> <td><a href="https://cplusplus.github.io/CWG/issues/548.html">548</a></td> @@ -3383,13 +3383,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/557.html">557</a></td> <td>CD1</td> <td>Does argument-dependent lookup cause template instantiation?</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.1</td> </tr> <tr id="558"> <td><a href="https://cplusplus.github.io/CWG/issues/558.html">558</a></td> <td>CD1</td> <td>Excluded characters in universal character names</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 2.9</td> </tr> <tr id="559"> <td><a href="https://cplusplus.github.io/CWG/issues/559.html">559</a></td> @@ -3449,7 +3449,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/568.html">568</a></td> <td>CD1</td> <td>Definition of POD is too strict</td> - <td class="full" align="center">Yes (C++11 onwards)</td> + <td class="full" align="center">Clang 3.0 (C++11 onwards)</td> </tr> <tr id="569"> <td><a href="https://cplusplus.github.io/CWG/issues/569.html">569</a></td> @@ -3485,7 +3485,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/574.html">574</a></td> <td>NAD</td> <td>Definition of “copy assignment operator”</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.0</td> </tr> <tr id="575"> <td><a href="https://cplusplus.github.io/CWG/issues/575.html">575</a></td> @@ -3497,13 +3497,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/576.html">576</a></td> <td>CD2</td> <td>Typedefs in function definitions</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.5</td> </tr> <tr id="577"> <td><a href="https://cplusplus.github.io/CWG/issues/577.html">577</a></td> <td>CD3</td> <td><TT>void</TT> in an empty parameter list</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.5</td> </tr> <tr id="578"> <td><a href="https://cplusplus.github.io/CWG/issues/578.html">578</a></td> @@ -3551,7 +3551,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/585.html">585</a></td> <td>NAD</td> <td>Friend template template parameters</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.0</td> </tr> <tr id="586"> <td><a href="https://cplusplus.github.io/CWG/issues/586.html">586</a></td> @@ -3563,7 +3563,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/587.html">587</a></td> <td>CD2</td> <td>Lvalue operands of a conditional expression diff ering only in cv-qualification</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.2</td> </tr> <tr id="588"> <td><a href="https://cplusplus.github.io/CWG/issues/588.html">588</a></td> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits