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 struct S {}; template void f(S &&); // 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 f(); @@ -816,7 +816,7 @@ namespace dr666 { // dr666: yes // Triviality is entirely different 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(0); int n = static_cast(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(0); // expected-error {{incomplete}} expected-note {{forward}} (void)dynamic_cast(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 @@

C++ defect report implementation status

600 CD6 Does access control apply to members or to names? - Yes + Clang 2.8 601 @@ -3677,7 +3677,7 @@

C++ defect report implementation status

606 CD1 Template argument deduction for rvalue references - Yes + Clang 3.0 607 @@ -3815,7 +3815,7 @@

C++ defect report implementation status

629 CD1 auto parsing ambiguity - Yes + Clang 2.9 630 @@ -3875,7 +3875,7 @@

C++ defect report implementation status

639 CD1 What makes side effects “different” from one another? - Yes + Clang 3.3 640 @@ -3899,7 +3899,7 @@

C++ defect report implementation status

643 NAD Use of decltype in a class member-specification - Yes + Clang 3.2 644 @@ -3923,7 +3923,7 @@

C++ defect report implementation status

647 CD1 Non-constexpr instances of constexpr constructor templates - Yes + Clang 3.1 648 @@ -3935,7 +3935,7 @@

C++ defect report implementation status

649 CD1 Optionally ill-formed extended alignment requests - Yes + Clang 3.5 650 @@ -3995,13 +3995,13 @@

C++ defect report implementation status

659 CD1 Alignment of function types - Yes + Clang 3.0 660 CD1 Unnamed scoped enumerations - Yes + Clang 3.0 661 @@ -4031,19 +4031,19 @@

C++ defect report implementation status

665 CD2 Problems in the specification of dynamic_cast - Yes + Clang 2.8 666 CD1 Dependent qualified-ids without the typename keyword - Yes + Clang 2.8 667 CD2 Trivial special member functions that cannot be implicitly defined - Yes + Clang 8 668 @@ -4067,7 +4067,7 @@

C++ defect report implementation status

671 CD1 Explicit conversion from a scoped enumeration type to integral type - Yes + Clang 2.9 672 @@ -4157,7 +4157,7 @@

C++ defect report implementation status

686 CD1 Type declarations/definitions in type-specifier-seqs and type-ids - Yes + Clang 3.0 687 @@ -4217,7 +4217,7 @@

C++ defect report implementation status

696 C++11 Use of block-scope constants in local classes - Yes + Clang 3.1 697