diff --git a/clang/test/CXX/drs/dr11xx.cpp b/clang/test/CXX/drs/dr11xx.cpp index 23756ff1927ec..2e35535a18c4a 100644 --- a/clang/test/CXX/drs/dr11xx.cpp +++ b/clang/test/CXX/drs/dr11xx.cpp @@ -4,7 +4,7 @@ // RUN: %clang_cc1 -std=c++17 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors // RUN: %clang_cc1 -std=c++2a %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -namespace dr1111 { // dr1111: yes +namespace dr1111 { // dr1111: 3.2 namespace example1 { template struct set; diff --git a/clang/test/CXX/drs/dr12xx.cpp b/clang/test/CXX/drs/dr12xx.cpp index c23a515ba56cb..339712be45b38 100644 --- a/clang/test/CXX/drs/dr12xx.cpp +++ b/clang/test/CXX/drs/dr12xx.cpp @@ -81,7 +81,7 @@ void g() { #endif #if __cplusplus >= 201103L -namespace dr1227 { // dr1227: yes +namespace dr1227 { // dr1227: 3.0 template struct A { using X = typename T::X; }; // expected-error {{type 'int' cannot be used prior to '::' because it has no members}} template typename T::X f(typename A::X); template void f(...) { } diff --git a/clang/test/CXX/drs/dr13xx.cpp b/clang/test/CXX/drs/dr13xx.cpp index 3510695954e27..abee100961602 100644 --- a/clang/test/CXX/drs/dr13xx.cpp +++ b/clang/test/CXX/drs/dr13xx.cpp @@ -14,7 +14,7 @@ namespace std { } #if __cplusplus >= 201103L -namespace dr1305 { // dr1305: yes +namespace dr1305 { // dr1305: 3.0 struct Incomplete; // expected-note {{forward declaration of 'dr1305::Incomplete'}} struct Complete {}; @@ -297,7 +297,7 @@ namespace dr1346 { // dr1346: 3.5 #endif } -namespace dr1347 { // dr1347: yes +namespace dr1347 { // dr1347: 3.1 auto x = 5, *y = &x; // expected-error 0-1{{extension}} auto z = y, *q = y; // expected-error {{'auto' deduced as 'int *' in declaration of 'z' and deduced as 'int' in declaration of 'q'}} expected-error 0-1{{extension}} #if __cplusplus >= 201103L @@ -306,7 +306,7 @@ namespace dr1347 { // dr1347: yes #endif } -namespace dr1358 { // dr1358: yes +namespace dr1358 { // dr1358: 3.1 #if __cplusplus >= 201103L struct Lit { constexpr operator int() const { return 0; } }; struct NonLit { NonLit(); operator int(); }; // expected-note 2{{no constexpr constructors}} diff --git a/clang/test/CXX/drs/dr14xx.cpp b/clang/test/CXX/drs/dr14xx.cpp index ea41a03d3587a..7dd7da95d034d 100644 --- a/clang/test/CXX/drs/dr14xx.cpp +++ b/clang/test/CXX/drs/dr14xx.cpp @@ -484,11 +484,11 @@ namespace dr1467 { // dr1467: 3.7 c++11 #endif } // dr1467 -namespace dr1479 { // dr1479: yes +namespace dr1479 { // dr1479: 3.1 int operator"" _a(const char*, std::size_t = 0); // expected-error {{literal operator cannot have a default argument}} } -namespace dr1482 { // dr1482: yes +namespace dr1482 { // dr1482: 3.0 // NB: sup 2516, test reused there #if __cplusplus >= 201103L template struct S { diff --git a/clang/test/CXX/drs/dr15xx.cpp b/clang/test/CXX/drs/dr15xx.cpp index c588891a75d6a..a53b14694998b 100644 --- a/clang/test/CXX/drs/dr15xx.cpp +++ b/clang/test/CXX/drs/dr15xx.cpp @@ -233,7 +233,7 @@ namespace std_example { #endif // __cplusplus >= 201103L } -namespace dr1550 { // dr1550: yes +namespace dr1550 { // dr1550: 3.4 int f(bool b, int n) { return (b ? (throw 0) : n) + (b ? n : (throw 0)); } diff --git a/clang/test/CXX/drs/dr16xx.cpp b/clang/test/CXX/drs/dr16xx.cpp index 463353dab3b16..cbf0b487ba155 100644 --- a/clang/test/CXX/drs/dr16xx.cpp +++ b/clang/test/CXX/drs/dr16xx.cpp @@ -68,7 +68,7 @@ namespace dr1631 { // dr1631: 3.7 #endif } -namespace dr1638 { // dr1638: yes +namespace dr1638 { // dr1638: 3.1 #if __cplusplus >= 201103L template struct A { enum class E; // expected-note {{previous}} diff --git a/clang/test/CXX/drs/dr18xx.cpp b/clang/test/CXX/drs/dr18xx.cpp index 7ac2673738228..49c1167220875 100644 --- a/clang/test/CXX/drs/dr18xx.cpp +++ b/clang/test/CXX/drs/dr18xx.cpp @@ -62,7 +62,7 @@ namespace dr1815 { // dr1815: no #endif } -namespace dr1821 { // dr1821: yes +namespace dr1821 { // dr1821: 2.9 struct A { template struct B { void f(); diff --git a/clang/test/CXX/drs/dr19xx.cpp b/clang/test/CXX/drs/dr19xx.cpp index b15be762ecd10..73aa20cc58e2d 100644 --- a/clang/test/CXX/drs/dr19xx.cpp +++ b/clang/test/CXX/drs/dr19xx.cpp @@ -64,7 +64,7 @@ namespace dr1903 { } } -namespace dr1909 { // dr1909: yes +namespace dr1909 { // dr1909: 3.7 struct A { template struct A {}; // expected-error {{member 'A' has the same name as its class}} }; @@ -79,7 +79,7 @@ namespace dr1909 { // dr1909: yes }; } -namespace dr1940 { // dr1940: yes +namespace dr1940 { // dr1940: 3.5 #if __cplusplus >= 201103L static union { static_assert(true, ""); // ok @@ -119,7 +119,7 @@ derived d2(42, 9); #endif } -namespace dr1947 { // dr1947: yes +namespace dr1947 { // dr1947: 3.5 #if __cplusplus >= 201402L unsigned o = 0'01; // ok unsigned b = 0b'01; // expected-error {{invalid digit 'b' in octal constant}} @@ -128,7 +128,7 @@ unsigned x = 0x'01; // expected-error {{invalid suffix 'x'01' on integer constan } #if __cplusplus >= 201103L -// dr1948: yes +// dr1948: 3.5 // FIXME: This diagnostic could be improved. void *operator new(__SIZE_TYPE__) noexcept { return nullptr; } // expected-error{{exception specification in declaration does not match previous declaration}} #endif diff --git a/clang/test/CXX/drs/dr25xx.cpp b/clang/test/CXX/drs/dr25xx.cpp index 3644e4c328b1b..0204ecaf63618 100644 --- a/clang/test/CXX/drs/dr25xx.cpp +++ b/clang/test/CXX/drs/dr25xx.cpp @@ -10,7 +10,7 @@ // expected-no-diagnostics #endif -namespace dr2516 { // dr2516: yes +namespace dr2516 { // dr2516: 3.0 // NB: reusing 1482 test #if __cplusplus >= 201103L template struct S { diff --git a/clang/test/CXX/drs/dr412.cpp b/clang/test/CXX/drs/dr412.cpp index 27bc7e5cf94e0..af385ff463c73 100644 --- a/clang/test/CXX/drs/dr412.cpp +++ b/clang/test/CXX/drs/dr412.cpp @@ -3,7 +3,7 @@ // RUN: %clang_cc1 -std=c++14 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -DNOEXCEPT=noexcept -DBAD_ALLOC= // RUN: %clang_cc1 -std=c++1z %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -DNOEXCEPT=noexcept -DBAD_ALLOC= -// dr412: yes +// dr412: 3.4 // lwg404: yes // lwg2340: yes diff --git a/clang/test/CXX/drs/dr8xx.cpp b/clang/test/CXX/drs/dr8xx.cpp index d79430f9e03ca..11948d0410eb5 100644 --- a/clang/test/CXX/drs/dr8xx.cpp +++ b/clang/test/CXX/drs/dr8xx.cpp @@ -8,7 +8,7 @@ // expected-no-diagnostics -namespace dr873 { // dr873: yes +namespace dr873 { // dr873: 3.0 #if __cplusplus >= 201103L template void f(T &&); template <> void f(int &) {} // #1 diff --git a/clang/test/CXX/drs/dr9xx.cpp b/clang/test/CXX/drs/dr9xx.cpp index fb13ef2967f88..e526582292480 100644 --- a/clang/test/CXX/drs/dr9xx.cpp +++ b/clang/test/CXX/drs/dr9xx.cpp @@ -43,7 +43,7 @@ namespace dr948 { // dr948: 3.7 #endif } -namespace dr952 { // dr952: yes +namespace dr952 { // dr952: 2.8 namespace example1 { struct A { typedef int I; // #dr952-typedef-decl diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index aafed2b6869e4..3f519ff06742f 100755 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -2511,7 +2511,7 @@

C++ defect report implementation status

412 NAD Can a replacement allocation function be inline? - Yes + Clang 3.4 413 @@ -5117,7 +5117,7 @@

C++ defect report implementation status

873 C++11 Deducing rvalue references in declarative contexts - Yes + Clang 3.0 874 @@ -5519,7 +5519,7 @@

C++ defect report implementation status

952 CD6 Insufficient description of “naming class” - Yes + Clang 2.8 953 @@ -6473,7 +6473,7 @@

C++ defect report implementation status

1111 C++11 Remove dual-scope lookup of member template names - Yes + Clang 3.2 1112 @@ -7169,7 +7169,7 @@

C++ defect report implementation status

1227 CD3 Mixing immediate and non-immediate contexts in deduction failure - Yes + Clang 3.0 1228 @@ -7637,7 +7637,7 @@

C++ defect report implementation status

1305 CD3 alignof applied to array of unknown size - Yes + Clang 3.0 1306 @@ -7889,7 +7889,7 @@

C++ defect report implementation status

1347 CD3 Consistency of auto in multiple-declarator declarations - Yes + Clang 3.1 1348 @@ -7955,7 +7955,7 @@

C++ defect report implementation status

1358 CD3 Unintentionally ill-formed constexpr function template instances - Yes + Clang 3.1 1359 @@ -8681,7 +8681,7 @@

C++ defect report implementation status

1479 CD3 Literal operators and default arguments - Yes + Clang 3.1 1480 @@ -8699,7 +8699,7 @@

C++ defect report implementation status

1482 CD3 Point of declaration of enumeration - Yes + Clang 3.0 1483 @@ -9107,7 +9107,7 @@

C++ defect report implementation status

1550 CD3 Parenthesized throw-expression operand of conditional-expression - Yes + Clang 3.4 1551 @@ -9635,7 +9635,7 @@

C++ defect report implementation status

1638 CD4 Declaring an explicit specialization of a scoped enumeration - Yes + Clang 3.1 1639 @@ -10733,7 +10733,7 @@

C++ defect report implementation status

1821 CD6 Qualified redeclarations in a class member-specification - Yes + Clang 2.9 1822 @@ -11261,7 +11261,7 @@

C++ defect report implementation status

1909 CD4 Member class template with the same name as the class - Yes + Clang 3.7 1910 @@ -11447,7 +11447,7 @@

C++ defect report implementation status

1940 CD4 static_assert in anonymous unions - Yes + Clang 3.5 1941 @@ -11489,13 +11489,13 @@

C++ defect report implementation status

1947 NAD Digit separators following non-octal prefix - Yes + Clang 3.5 1948 NAD exception-specification of replacement global new - Yes + Clang 3.5 1949 @@ -14903,7 +14903,7 @@

C++ defect report implementation status

2516 C++23 Locus of enum-specifier or opaque-enum-declaration - Yes + Clang 3.0 2517