]> granicus.if.org Git - clang/commitdiff
Merging r291871:
authorHans Wennborg <hans@hanshq.net>
Fri, 13 Jan 2017 16:52:17 +0000 (16:52 +0000)
committerHans Wennborg <hans@hanshq.net>
Fri, 13 Jan 2017 16:52:17 +0000 (16:52 +0000)
------------------------------------------------------------------------
r291871 | rsmith | 2017-01-12 16:57:54 -0800 (Thu, 12 Jan 2017) | 10 lines

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.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@291913 91177308-0d34-0410-b5e6-96231b3b80d8

13 files changed:
test/CXX/drs/dr0xx.cpp
test/CXX/drs/dr12xx.cpp
test/CXX/drs/dr13xx.cpp
test/CXX/drs/dr14xx.cpp
test/CXX/drs/dr15xx.cpp
test/CXX/drs/dr16xx.cpp
test/CXX/drs/dr18xx.cpp
test/CXX/drs/dr2xx.cpp
test/CXX/drs/dr5xx.cpp
test/CXX/drs/dr6xx.cpp
www/cxx_dr_status.html
www/cxx_status.html
www/make_cxx_dr_status

index c988b6aba57e57a856e65891fb14c75c2afeee4e..055f40f98f6608d6be05a5da37f82d6d595e0ef1 100644 (file)
@@ -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
index 72d8d683ab7a77b55ddaf7a25e4e4d7441c6715e..45b33f9d7daf1a004060627aceb39c90fe0d9318 100644 (file)
@@ -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;
   };
index 28e667f77f8440d859e0c0a6ebe8c4bedce4be65..f35ead7b5e94ade61517da1b2ba4d8b740c8761b 100644 (file)
@@ -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}}
index 9e724d918346073c7913e3bdd3fc8185b996d41e..116437b1ab3c7e3448666c902e64bc632a5ecbb2 100644 (file)
@@ -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}}
index fb0d9334f6b6f9e27154f3789ee8a99bf547698d..a68928f727ef3f4090cdc6bcb469f300fde76eb0 100644 (file)
@@ -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}}
index 02aa5f9909eb370233872305a7d6376929fdc08d..c0b7c29e5dd1769b830dca92fd7f14b5d67e7243 100644 (file)
@@ -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++;
index 436bccc8e42e37fed144d8449947cbcae6117c7e..e4ec199fcae8eafdca3102d09f08ad75a0e4a8f7 100644 (file)
@@ -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}}
index a9f0c8fcc9995f18e9495299779ac4fa795df2d1..68261f6c00f11e237f1096bcacfca5e13eb407b3 100644 (file)
@@ -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}}
index f065128cd4bd8956874d0a72d940c7933fae3fa7..89e404f5fd6d0960e52f20a4217bee3eb0c8f1fc 100644 (file)
@@ -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}}
index 9dfcc7d6b46467dea8ff5a9c9f96570d73e3942f..8b9a69960767add4dc1bb4e04020dd6ee1b5d360 100644 (file)
@@ -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();
index c36adfdfad0a1d6cb731977935882ff3d719fda1..a0781458a852296500bd7b0a1d1ca9b61a571fa2 100644 (file)
     <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 &#8220;indeterminate value&#8221;</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>
index 675cc6f7a82bd76c9cf451b0bc750f662c1afe70..eb0beeb18552c66343ee21efefba895343243378 100644 (file)
@@ -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 of standard C++.</p>
       </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.
index 48f524208a4c0029faf73c31d16126cf1d0b608f..8a05d41c08b504eb9d39f9b8f138bf77d77a0921 100755 (executable)
@@ -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':