Author: rsmith Date: Thu Jan 12 18:57:54 2017 New Revision: 291871 URL: http://llvm.org/viewvc/llvm-project?rev=291871&view=rev Log: Update C++ status pages for Clang 4 branch:
* Update version number in DR tests from 4.0 to 4 * Teach make_cxx_dr_status script about version numbers that don't contain a period. * Update cxx_status.html and cxx_dr_status.html to list Clang 4 features as "Clang 4" rather than "SVN" Clang 4 features are still listed in yellow rather than green until release. Modified: cfe/trunk/test/CXX/drs/dr0xx.cpp cfe/trunk/test/CXX/drs/dr12xx.cpp cfe/trunk/test/CXX/drs/dr13xx.cpp cfe/trunk/test/CXX/drs/dr14xx.cpp cfe/trunk/test/CXX/drs/dr15xx.cpp cfe/trunk/test/CXX/drs/dr16xx.cpp cfe/trunk/test/CXX/drs/dr18xx.cpp cfe/trunk/test/CXX/drs/dr2xx.cpp cfe/trunk/test/CXX/drs/dr5xx.cpp cfe/trunk/test/CXX/drs/dr6xx.cpp cfe/trunk/www/cxx_dr_status.html cfe/trunk/www/cxx_status.html cfe/trunk/www/make_cxx_dr_status Modified: cfe/trunk/test/CXX/drs/dr0xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr0xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr0xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr0xx.cpp Thu Jan 12 18:57:54 2017 @@ -1032,7 +1032,7 @@ namespace dr91 { // dr91: yes int k = f(U()); } -namespace dr92 { // dr92: 4.0 c++17 +namespace dr92 { // dr92: 4 c++17 void f() throw(int, float); // expected-error 0-1{{ISO C++1z does not allow}} expected-note 0-1{{use 'noexcept}} void (*p)() throw(int) = &f; // expected-error 0-1{{ISO C++1z does not allow}} expected-note 0-1{{use 'noexcept}} #if __cplusplus <= 201402L Modified: cfe/trunk/test/CXX/drs/dr12xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr12xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr12xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr12xx.cpp Thu Jan 12 18:57:54 2017 @@ -3,7 +3,7 @@ // RUN: %clang_cc1 -std=c++14 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors // RUN: %clang_cc1 -std=c++1z %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -namespace dr1213 { // dr1213: 4.0 +namespace dr1213 { // dr1213: 4 #if __cplusplus >= 201103L using T = int[3]; int &&r = T{}[1]; @@ -26,7 +26,7 @@ struct Derived : Base { }; } // dr1250 -namespace dr1295 { // dr1295: 4.0 +namespace dr1295 { // dr1295: 4 struct X { unsigned bitfield : 4; }; Modified: cfe/trunk/test/CXX/drs/dr13xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr13xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr13xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr13xx.cpp Thu Jan 12 18:57:54 2017 @@ -31,7 +31,7 @@ namespace dr1315 { // dr1315: partial // expected-error@-1 {{type of specialized non-type template argument depends on a template parameter of the partial specialization}} } -namespace dr1330 { // dr1330: 4.0 c++11 +namespace dr1330 { // dr1330: 4 c++11 // exception-specifications are parsed in a context where the class is complete. struct A { void f() throw(T) {} // expected-error 0-1{{C++1z}} expected-note 0-1{{noexcept}} @@ -175,7 +175,7 @@ namespace dr1359 { // dr1359: 3.5 #endif } -namespace dr1388 { // dr1388: 4.0 +namespace dr1388 { // dr1388: 4 template<typename A, typename ...T> void f(T..., A); // expected-note 1+{{candidate}} expected-error 0-1{{C++11}} template<typename ...T> void g(T..., int); // expected-note 1+{{candidate}} expected-error 0-1{{C++11}} template<typename ...T, typename A> void h(T..., A); // expected-note 1+{{candidate}} expected-error 0-1{{C++11}} Modified: cfe/trunk/test/CXX/drs/dr14xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr14xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr14xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr14xx.cpp Thu Jan 12 18:57:54 2017 @@ -343,7 +343,7 @@ namespace dr1490 { // dr1490: 3.7 c++11 std::initializer_list<char>{"abc"}; // expected-error {{expected unqualified-id}}} } // dr190 -namespace dr1495 { // dr1495: 4.0 +namespace dr1495 { // dr1495: 4 // Deduction succeeds in both directions. template<typename T, typename U> struct A {}; // expected-note {{template is declared here}} template<typename T, typename U> struct A<U, T> {}; // expected-error {{class template partial specialization is not more specialized}} Modified: cfe/trunk/test/CXX/drs/dr15xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr15xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr15xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr15xx.cpp Thu Jan 12 18:57:54 2017 @@ -3,7 +3,7 @@ // RUN: %clang_cc1 -std=c++14 -triple x86_64-unknown-unknown %s -verify -fexceptions -fcxx-exceptions -pedantic-errors // RUN: %clang_cc1 -std=c++1z -triple x86_64-unknown-unknown %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -namespace dr1512 { // dr1512: 4.0 +namespace dr1512 { // dr1512: 4 void f(char *p) { if (p > 0) {} // expected-error {{ordered comparison between pointer and zero}} #if __cplusplus >= 201103L @@ -135,7 +135,7 @@ namespace dr1512 { // dr1512: 4.0 } } -namespace dr1518 { // dr1518: 4.0 +namespace dr1518 { // dr1518: 4 #if __cplusplus >= 201103L struct Z0 { // expected-note 0+ {{candidate}} explicit Z0() = default; // expected-note 0+ {{here}} Modified: cfe/trunk/test/CXX/drs/dr16xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr16xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr16xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr16xx.cpp Thu Jan 12 18:57:54 2017 @@ -86,7 +86,7 @@ namespace dr1645 { // dr1645: 3.9 #endif } -namespace dr1653 { // dr1653: 4.0 c++17 +namespace dr1653 { // dr1653: 4 c++17 void f(bool b) { ++b; b++; Modified: cfe/trunk/test/CXX/drs/dr18xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr18xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr18xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr18xx.cpp Thu Jan 12 18:57:54 2017 @@ -7,7 +7,7 @@ // expected-no-diagnostics #endif -void dr1891() { // dr1891: 4.0 +void dr1891() { // dr1891: 4 #if __cplusplus >= 201103L int n; auto a = []{}; // expected-note 2{{candidate}} expected-note 2{{here}} Modified: cfe/trunk/test/CXX/drs/dr2xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr2xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr2xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr2xx.cpp Thu Jan 12 18:57:54 2017 @@ -679,7 +679,7 @@ namespace dr258 { // dr258: yes } f; // expected-error {{abstract}} } -namespace dr259 { // dr259: 4.0 +namespace dr259 { // dr259: 4 template<typename T> struct A {}; template struct A<int>; // expected-note {{previous}} template struct A<int>; // expected-error {{duplicate explicit instantiation}} Modified: cfe/trunk/test/CXX/drs/dr5xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr5xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr5xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr5xx.cpp Thu Jan 12 18:57:54 2017 @@ -863,7 +863,7 @@ namespace dr580 { // dr580: partial // dr582: na -namespace dr583 { // dr583: 4.0 +namespace dr583 { // dr583: 4 // see n3624 int *p; bool b1 = p < 0; // expected-error {{ordered comparison between pointer and zero}} Modified: cfe/trunk/test/CXX/drs/dr6xx.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/drs/dr6xx.cpp?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/test/CXX/drs/dr6xx.cpp (original) +++ cfe/trunk/test/CXX/drs/dr6xx.cpp Thu Jan 12 18:57:54 2017 @@ -142,7 +142,7 @@ namespace dr615 { // dr615: yes static int n = f(); } -namespace dr616 { // dr616: 4.0 +namespace dr616 { // dr616: 4 #if __cplusplus >= 201103L struct S { int n; } s; S f(); Modified: cfe/trunk/www/cxx_dr_status.html URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www/cxx_dr_status.html?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/www/cxx_dr_status.html (original) +++ cfe/trunk/www/cxx_dr_status.html Thu Jan 12 18:57:54 2017 @@ -591,7 +591,7 @@ <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#92">92</a></td> <td>WP</td> <td>Should <I>exception-specification</I>s be part of the type system?</td> - <td class="svn" align="center">SVN (C++17 onwards)</td> + <td class="svn" align="center">Clang 4 (C++17 onwards)</td> </tr> <tr id="93"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#93">93</a></td> @@ -1594,7 +1594,7 @@ accessible?</td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#259">259</a></td> <td>CD1</td> <td>Restrictions on explicit specialization and instantiation</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr class="open" id="260"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#260">260</a></td> @@ -3541,7 +3541,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#583">583</a></td> <td>CD3</td> <td>Relational pointer comparisons against the null pointer constant</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr id="584"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#584">584</a></td> @@ -3739,7 +3739,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#616">616</a></td> <td>CD3</td> <td>Definition of “indeterminate value”</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr class="open" id="617"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#617">617</a></td> @@ -7093,7 +7093,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1213">1213</a></td> <td>CD3</td> <td>Array subscripting and xvalues</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr id="1214"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1214">1214</a></td> @@ -7585,7 +7585,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1295">1295</a></td> <td>CD3</td> <td>Binding a reference to an rvalue bit-field</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr id="1296"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1296">1296</a></td> @@ -7795,7 +7795,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1330">1330</a></td> <td>CD3</td> <td>Delayed instantiation of <TT>noexcept</TT> specifiers</td> - <td class="svn" align="center">SVN (C++11 onwards)</td> + <td class="svn" align="center">Clang 4 (C++11 onwards)</td> </tr> <tr class="open" id="1331"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1331">1331</a></td> @@ -8143,7 +8143,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1388">1388</a></td> <td>CD3</td> <td>Missing non-deduced context following a function parameter pack</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr id="1389"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1389">1389</a></td> @@ -8785,7 +8785,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1495">1495</a></td> <td>CD3</td> <td>Partial specialization of variadic class template</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr id="1496"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1496">1496</a></td> @@ -8887,7 +8887,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1512">1512</a></td> <td>CD3</td> <td>Pointer comparison vs qualification conversions</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr class="open" id="1513"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1513">1513</a></td> @@ -8923,7 +8923,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1518">1518</a></td> <td>DRWP</td> <td>Explicit default constructors and copy-list-initialization</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr id="1519"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1519">1519</a></td> @@ -9733,7 +9733,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1653">1653</a></td> <td>WP</td> <td>Removing deprecated increment of <TT>bool</TT></td> - <td class="svn" align="center">SVN (C++17 onwards)</td> + <td class="svn" align="center">Clang 4 (C++17 onwards)</td> </tr> <tr id="1654"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1654">1654</a></td> @@ -11161,7 +11161,7 @@ and <I>POD class</I></td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1891">1891</a></td> <td>DRWP</td> <td>Move constructor/assignment for closure class</td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr id="1892"> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1892">1892</a></td> Modified: cfe/trunk/www/cxx_status.html URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www/cxx_status.html?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/www/cxx_status.html (original) +++ cfe/trunk/www/cxx_status.html Thu Jan 12 18:57:54 2017 @@ -612,7 +612,7 @@ as the draft C++1z standard evolves. <tr> <td>Make exception specifications part of the type system</td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0012r1.html">P0012R1</a></td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr> <td><tt>__has_include</tt> in preprocessor conditionals</td> @@ -679,7 +679,7 @@ as the draft C++1z standard evolves. <tr> <td>Dynamic memory allocation for over-aligned data</td> <td><a href="http://wg21.link/p0035r4">P0035R4</a></td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr> <td>Template argument deduction for class templates</td> @@ -689,17 +689,17 @@ as the draft C++1z standard evolves. <tr> <td>Non-type template parameters with <tt>auto</tt> type</td> <td><a href="http://wg21.link/p0127r2">P0127R2</a></td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr> <td>Guaranteed copy elision</td> <td><a href="http://wg21.link/p0135r1">P0135R1</a></td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr> <td rowspan=2>Stricter expression evaluation order</td> <td><a href="http://wg21.link/p0145r3">P0145R3</a></td> - <td class="svn" align="center" rowspan=2>SVN <a href="#p0145">(10)</a></td> + <td class="svn" align="center" rowspan=2>Clang 4 <a href="#p0145">(10)</a></td> </tr> <tr> <td><a href="http://wg21.link/p0400r0">P0400R0</a></td> @@ -722,7 +722,7 @@ as the draft C++1z standard evolves. <tr> <td>Structured bindings</td> <td><a href="http://wg21.link/p0217r3">P0217R3</a></td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr> <td>Separate variable and condition for <tt>if</tt> and <tt>switch</tt></td> @@ -738,12 +738,12 @@ as the draft C++1z standard evolves. <tr> <td>Removing deprecated dynamic exception specifications</td> <td><a href="http://wg21.link/p0003r5">P0003R5</a></td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> <tr> <td>Pack expansions in <em>using-declarations</em></td> <td><a href="http://wg21.link/p0195r2">P0195R2</a></td> - <td class="svn" align="center">SVN</td> + <td class="svn" align="center">Clang 4</td> </tr> </table> @@ -765,10 +765,10 @@ reverse construction order in that ABI. </span><br> <span id="p0522">(12): Despite being the the resolution to a Defect Report, this feature is disabled by default in all language versions, and can be enabled -explicitly with the flag <tt>-frelaxed-template-template-args</tt>. The change -to the standard lacks a corresponding change for template partial ordering, -resulting in ambiguity errors for reasonable and previously-valid code. This -issue is expected to be rectified soon. +explicitly with the flag <tt>-frelaxed-template-template-args</tt> in Clang 4. +The change to the standard lacks a corresponding change for template partial +ordering, resulting in ambiguity errors for reasonable and previously-valid +code. This issue is expected to be rectified soon. </span> </p> </details> @@ -802,8 +802,8 @@ and library features that are not part o </td> </tr> <tr> - <td class="svn" align="center"> - SVN (<a href="http://wg21.link/p0096r3">P0096R3</a>)</a> + <td class="full" align="center"> + Clang 4 (<a href="http://wg21.link/p0096r3">P0096R3</a>)</a> </td> </tr> <!-- FIXME: Implement latest recommendations. Modified: cfe/trunk/www/make_cxx_dr_status URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www/make_cxx_dr_status?rev=291871&r1=291870&r2=291871&view=diff ============================================================================== --- cfe/trunk/www/make_cxx_dr_status (original) +++ cfe/trunk/www/make_cxx_dr_status Thu Jan 12 18:57:54 2017 @@ -108,10 +108,13 @@ def availability(issue): if status == 'unknown': avail = 'Unknown' avail_style = ' class="none"' - elif status == '4.0': + elif status == '5': avail = 'SVN' avail_style = ' class="svn"' - elif re.match('^[0-9]+\.', status): + elif status == '4': + avail = 'Clang 4' + avail_style = ' class="svn"' + elif re.match('^[0-9]+\.?[0-9]*', status): avail = 'Clang %s' % status avail_style = ' class="full"' elif status == 'yes': _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits