Author: Vlad Serebrennikov Date: 2023-12-08T00:38:42+03:00 New Revision: c79f94d85121347d28f894d837f173f90f368e92
URL: https://github.com/llvm/llvm-project/commit/c79f94d85121347d28f894d837f173f90f368e92 DIFF: https://github.com/llvm/llvm-project/commit/c79f94d85121347d28f894d837f173f90f368e92.diff LOG: [clang][NFC] Fill in historical data on when C++ DRs 700-1999 were fixed Added: Modified: clang/test/CXX/drs/dr11xx.cpp clang/test/CXX/drs/dr12xx.cpp clang/test/CXX/drs/dr13xx.cpp clang/test/CXX/drs/dr14xx.cpp clang/test/CXX/drs/dr15xx.cpp clang/test/CXX/drs/dr16xx.cpp clang/test/CXX/drs/dr18xx.cpp clang/test/CXX/drs/dr19xx.cpp clang/test/CXX/drs/dr25xx.cpp clang/test/CXX/drs/dr412.cpp clang/test/CXX/drs/dr8xx.cpp clang/test/CXX/drs/dr9xx.cpp clang/www/cxx_dr_status.html Removed: ################################################################################ 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 <typename> 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 <class T> struct A { using X = typename T::X; }; // expected-error {{type 'int' cannot be used prior to '::' because it has no members}} template <class T> typename T::X f(typename A<T>::X); template <class T> 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 <typename T> 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<typename T> 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 <typename> 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<typename T> 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 <typename T> 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 <typename T> 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 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/412.html">412</a></td> <td>NAD</td> <td>Can a replacement allocation function be inline?</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.4</td> </tr> <tr id="413"> <td><a href="https://cplusplus.github.io/CWG/issues/413.html">413</a></td> @@ -5117,7 +5117,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/873.html">873</a></td> <td>C++11</td> <td>Deducing rvalue references in declarative contexts</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.0</td> </tr> <tr id="874"> <td><a href="https://cplusplus.github.io/CWG/issues/874.html">874</a></td> @@ -5519,7 +5519,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/952.html">952</a></td> <td>CD6</td> <td>Insufficient description of “naming class”</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 2.8</td> </tr> <tr id="953"> <td><a href="https://cplusplus.github.io/CWG/issues/953.html">953</a></td> @@ -6473,7 +6473,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1111.html">1111</a></td> <td>C++11</td> <td>Remove dual-scope lookup of member template names</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.2</td> </tr> <tr id="1112"> <td><a href="https://cplusplus.github.io/CWG/issues/1112.html">1112</a></td> @@ -7169,7 +7169,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1227.html">1227</a></td> <td>CD3</td> <td>Mixing immediate and non-immediate contexts in deduction failure</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.0</td> </tr> <tr id="1228"> <td><a href="https://cplusplus.github.io/CWG/issues/1228.html">1228</a></td> @@ -7637,7 +7637,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1305.html">1305</a></td> <td>CD3</td> <td><TT>alignof</TT> applied to array of unknown size</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.0</td> </tr> <tr id="1306"> <td><a href="https://cplusplus.github.io/CWG/issues/1306.html">1306</a></td> @@ -7889,7 +7889,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1347.html">1347</a></td> <td>CD3</td> <td>Consistency of <TT>auto</TT> in multiple-declarator declarations</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.1</td> </tr> <tr class="open" id="1348"> <td><a href="https://cplusplus.github.io/CWG/issues/1348.html">1348</a></td> @@ -7955,7 +7955,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1358.html">1358</a></td> <td>CD3</td> <td>Unintentionally ill-formed <TT>constexpr</TT> function template instances</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.1</td> </tr> <tr id="1359"> <td><a href="https://cplusplus.github.io/CWG/issues/1359.html">1359</a></td> @@ -8681,7 +8681,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1479.html">1479</a></td> <td>CD3</td> <td>Literal operators and default arguments</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.1</td> </tr> <tr id="1480"> <td><a href="https://cplusplus.github.io/CWG/issues/1480.html">1480</a></td> @@ -8699,7 +8699,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1482.html">1482</a></td> <td>CD3</td> <td>Point of declaration of enumeration</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.0</td> </tr> <tr id="1483"> <td><a href="https://cplusplus.github.io/CWG/issues/1483.html">1483</a></td> @@ -9107,7 +9107,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1550.html">1550</a></td> <td>CD3</td> <td>Parenthesized <I>throw-expression</I> operand of <I>conditional-expression</I></td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.4</td> </tr> <tr id="1551"> <td><a href="https://cplusplus.github.io/CWG/issues/1551.html">1551</a></td> @@ -9635,7 +9635,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1638.html">1638</a></td> <td>CD4</td> <td>Declaring an explicit specialization of a scoped enumeration</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.1</td> </tr> <tr id="1639"> <td><a href="https://cplusplus.github.io/CWG/issues/1639.html">1639</a></td> @@ -10733,7 +10733,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1821.html">1821</a></td> <td>CD6</td> <td>Qualified redeclarations in a class <I>member-specification</I></td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 2.9</td> </tr> <tr id="1822"> <td><a href="https://cplusplus.github.io/CWG/issues/1822.html">1822</a></td> @@ -11261,7 +11261,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1909.html">1909</a></td> <td>CD4</td> <td>Member class template with the same name as the class</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.7</td> </tr> <tr id="1910"> <td><a href="https://cplusplus.github.io/CWG/issues/1910.html">1910</a></td> @@ -11447,7 +11447,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1940.html">1940</a></td> <td>CD4</td> <td><TT>static_assert</TT> in anonymous unions</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.5</td> </tr> <tr id="1941"> <td><a href="https://cplusplus.github.io/CWG/issues/1941.html">1941</a></td> @@ -11489,13 +11489,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/1947.html">1947</a></td> <td>NAD</td> <td>Digit separators following non-octal prefix</td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.5</td> </tr> <tr id="1948"> <td><a href="https://cplusplus.github.io/CWG/issues/1948.html">1948</a></td> <td>NAD</td> <td><I>exception-specification</I> of replacement global <TT>new</TT></td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.5</td> </tr> <tr id="1949"> <td><a href="https://cplusplus.github.io/CWG/issues/1949.html">1949</a></td> @@ -14903,7 +14903,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td><a href="https://cplusplus.github.io/CWG/issues/2516.html">2516</a></td> <td>C++23</td> <td>Locus of <I>enum-specifier</I> or <I>opaque-enum-declaration</I></td> - <td class="full" align="center">Yes</td> + <td class="full" align="center">Clang 3.0</td> </tr> <tr id="2517"> <td><a href="https://cplusplus.github.io/CWG/issues/2517.html">2517</a></td> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits