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> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits