diff options
Diffstat (limited to 'www/cxx_status.html')
-rw-r--r-- | www/cxx_status.html | 82 |
1 files changed, 64 insertions, 18 deletions
diff --git a/www/cxx_status.html b/www/cxx_status.html index 9d1d29c7e6b7..a494469bb6e8 100644 --- a/www/cxx_status.html +++ b/www/cxx_status.html @@ -25,11 +25,11 @@ <!--*************************************************************************--> <h1>C++ Support in Clang</h1> <!--*************************************************************************--> -<p>Last updated: $Date: 2014-06-22 18:00:05 +0200 (Sun, 22 Jun 2014) $</p> +<p>Last updated: $Date: 2014-11-27 02:54:27 +0100 (Thu, 27 Nov 2014) $</p> <p>Clang fully implements all published ISO C++ standards including <a -href="#cxx11">C++11</a>, as well as the upcoming standard provisionally named <a -href="#cxx14">C++14</a>, and some parts of the fledgling <a +href="#cxx11">C++11</a>, as well as the upcoming <a +href="#cxx14">C++14</a> standard, and some parts of the fledgling <a href="#cxx17">C++1z</a> standard, and is considered a production-quality C++ compiler. @@ -422,20 +422,21 @@ because changing <code>intmax_t</code> would be an ABI-incompatible change.</span> </p> -<h2 id="cxx14">C++1y implementation status</h2> +<h2 id="cxx14">C++14 implementation status</h2> <p>Clang 3.4 and later implement all of the Draft International Standard (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3797.pdf">most recent publicly available draft</a>) -of the upcoming C++ language standard, provisionally named C++1y. The following -table describes the Clang version in which each feature became available.</p> +of the upcoming C++14 language standard. The following table describes the +Clang version in which each feature became available.</p> -<p>You can use Clang in C++1y mode with the <code>-std=c++1y</code> option.</p> +<p>You can use Clang in C++14 mode with the <code>-std=c++14</code> option +(use <code>-std=c++1y</code> in Clang 3.4 and earlier).</p> <table width="689" border="1" cellspacing="0"> <tr> <th>Language Feature</th> - <th>C++1y Proposal</th> + <th>C++14 Proposal</th> <th>Available in Clang?</th> </tr> <tr> @@ -507,7 +508,7 @@ table describes the Clang version in which each feature became available.</p> <h2 id="cxx17">C++1z implementation status</h2> <p>Clang has <b>highly experimental</b> support for some proposed features of -the C++ standard following C++1y, +the C++ standard following C++14, provisionally named C++1z. The following table describes which C++1z features have been implemented in Clang and in which Clang version they became available.</p> @@ -523,24 +524,62 @@ as the draft C++1z standard evolves.</p> <th>C++1z Proposal</th> <th>Available in Clang?</th> </tr> + <!-- Issaquah papers --> <tr> <td><tt>static_assert</tt> with no message</td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3928.pdf">N3928</a></td> - <td class="svn" align="center">SVN</td> + <td class="full" align="center">Clang 3.5</td> </tr> + <!-- Rapperswil papers --> <tr> <td>Disabling trigraph expansion by default</td> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3981.html">N3981</a></td> - <td class="svn" align="center">SVN</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4086.html">N4086</a></td> + <td class="full" align="center">Clang 3.5</td> </tr> + <!-- <tr> - <td>Terse range-based for loops</td> - <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3994.htm">N3994</a></td> - <td class="svn" align="center">SVN</td> + <td rowspan="2">Terse range-based for loops (removed from C++1z)</td> + <td rowspan="2"><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3994.htm">N3994</a></td> + <td class="none" align="center">Clang 3.5: Yes</td> </tr> <tr> + <td class="svn" align="center">SVN: No</td> + </tr> + --> + <tr> <td><tt>typename</tt> in a template template parameter</td> <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html">N4051</a></td> + <td class="full" align="center">Clang 3.5</td> + </tr> + <tr> + <td>New <tt>auto</tt> rules for direct-list-initialization + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html">N3922</a></td> + <td class="none" align="center">No</td> + </tr> + <!-- Urbana papers --> + <tr> + <td>Fold expressions</td> + <td><!--<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4295.html">-->N4295<!--</a>--></td> + <td class="svn" align="center">SVN</td> + </tr> + <tr> + <td><tt>u8</tt> character literals</td> + <td><!--<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4267.html">-->N4267<!--</a>--></td> + <td class="svn" align="center">SVN</td> + </tr> + <tr> + <td>Nested namespace definition</td> + <td><!--<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4230.html">-->N4230<!--</a>--></td> + <td class="svn" align="center">SVN</td> + </tr> + <tr> + <td>Attributes for namespaces and enumerators</td> + <td><!--<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4266.html">-->N4266<!--</a>--></td> + <td class="svn" align="center">SVN</td> + </tr> + <tr> + <td>Allow constant evaluation for all non-type template arguments</td> + <td><!--<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4268.html">-->N4268<!--</a>--></td> <td class="svn" align="center">SVN</td> </tr> </table> @@ -559,9 +598,16 @@ Clang version they became available:</p> <th>Available in Clang?</th> </tr> <tr> - <td>SD-6: SG10 feature test recommendations</td> - <td><a href="http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations">SD-6</a></td> - <td class="full" align="center">Clang 3.4 (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3745">N3745</a>)</td> + <td rowspan="2">SD-6: SG10 feature test recommendations</td> + <td rowspan="2"><a href="http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations">SD-6</a></td> + <td class="full" align="center"> + Clang 3.4 (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3745">N3745</a>)</br> + </td> + </tr> + <tr> + <td class="svn" align="center"> + SVN (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4200">N4200</a>)</a> + </td> </tr> <tr> <td>[DRAFT TS] Array extensions (arrays of runtime bound)</td> |