[wwwdocs] Re: C++ Concepts available in trunk?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12 August 2015 at 23:54, Dijk, J. van wrote:
> Thanks for the clarification. I hope the attached patch against current
> wwwdocs will be of use (only the name of the feature test macro is missing
> in the new file cxx1z.html;  did not manage to find that.)

Thanks, I've committed the attached change to the wwwdocs repo.

I'll add the other new C++17 features to it later today.
Index: htdocs/gcc-6/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-6/changes.html,v
retrieving revision 1.19
diff -u -r1.19 changes.html
--- htdocs/gcc-6/changes.html	31 Jul 2015 12:06:47 -0000	1.19
+++ htdocs/gcc-6/changes.html	13 Aug 2015 08:35:44 -0000
@@ -68,8 +68,33 @@
 <h3 id="cxx">C++</h3>
   <ul>
     <li>The default mode has been changed to <code>-std=gnu++14</code>.</li>
+    <li>C++ Concepts are now supported when compiling with
+        <code>-std=gnu++1z</code> or <code>-std=c++1z</code>.</li>
   </ul>
 
+<h4 id="libstdcxx">Runtime Library (libstdc++)</h4>
+  <ul>
+    <li> Experimental support for C++17, including the following
+      new features:
+      <ul>
+        <li><code>std::uncaught_exceptions</code> function (this is also
+            available for <tt>-std=gnu++NN</tt> modes); </li>
+        <li>new member functions <code>try_emplace</code> and
+            <code>insert_or_assign</code> for unique_key maps;</li>
+        <li>non-member functions <code>std::size</code>,
+            <code>std::empty</code>, and <code>std::data</code> for
+            accessing containers and arrays;
+        <li><code>std::shared_mutex</code>;</li>
+        <li><code>std::void_t</code> and <code>std::bool_constant</code>
+            utilities. </li>
+      </ul>
+    </li>
+    <li>An experimental implementation of the File System TS.</li>
+    <li>Experimental support for most features of the second version of the
+        Library Fundamentals TS.</li>
+  </ul>
+
+
 <h3 id="fortran">Fortran</h3>
   <ul>
     <li>The <code>MATMUL</code> intrinsic is now inlined for straightforward
Index: htdocs/projects/cxx1y.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/projects/cxx1y.html,v
retrieving revision 1.23
diff -u -r1.23 cxx1y.html
--- htdocs/projects/cxx1y.html	19 Apr 2015 18:21:43 -0000	1.23
+++ htdocs/projects/cxx1y.html	13 Aug 2015 08:35:44 -0000
@@ -167,23 +167,9 @@
   <h2>C++14 Library Features</h2>
 
   <p>The status of the library implementation can be tracked in this
-  <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014";>table</a>
+  <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014";>table</a>.
   </p>
 
-  <h2>Development Branches</h2>
-
-  <a name="concepts"></a><h3>C++1z Concepts Branch</h3>
-
-<p>Concepts was a major feature planned for the C++11 standard, but it was
-eventually dropped due to concerns about both the description and
-implementability.  Since the publication of C++11, people have been working
-on scaled-down versions of the concepts feature.  One approach to concepts,
-known as <a href="http://concepts.axiomatics.org/~ans/";>Concepts Lite</a>,
-has been prototyped in GCC and seems likely to be published as a Technical
-Specification in 2015.  The initial implementation is available from the
-link above, and it is in the process of being cleaned up and moved into
-the <code>c++-concepts</code> branch.</p>
-  
 </body>
 </html>
 
Index: htdocs/projects/cxx1z.html
===================================================================
RCS file: htdocs/projects/cxx1z.html
diff -N htdocs/projects/cxx1z.html
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ htdocs/projects/cxx1z.html	13 Aug 2015 08:35:44 -0000
@@ -0,0 +1,66 @@
+<html>
+<head>
+  <title>C++1z Support in GCC</title>
+    <style type="text/css">
+      /* <![CDATA[*/
+        tr.separator { background: #ffffcc}
+        .supported { color: green }
+        .unsupported { color: red }
+      /* ]]> */
+    </style>
+</head>
+
+<body>
+  <h1>C++1z Support in GCC</h1>
+
+  <p>GCC has experimental support for the next revision of the C++
+  standard, which is expected to be published in 2017.</p>
+
+  <p>C++1z features are available as part of the "mainline" GCC
+    compiler in the trunk of
+    <a href="../svn.html">GCC's Subversion
+      repository</a> and in GCC 4.9 and later. To enable C++1z
+      support, add the command-line parameter <code>-std=c++1z</code>
+      to your <code>g++</code> command line. Or, to enable GNU
+      extensions in addition to C++1z extensions,
+      add <code>-std=gnu++1z</code> to your <code>g++</code> command
+      line.</p>
+
+  <p><strong>Important</strong>: Because the final ISO C++1z standard is
+  still evolving, GCC's support is <strong>experimental</strong>. No attempt
+  will be made to maintain backward compatibility with implementations of
+  C++1y features that do not reflect the final standard.</p>
+
+<h2>C++1z Language Features</h2>
+
+  <p>The following table lists new language features that have been
+  accepted into the C++1z working draft or an ISO TS. The "Proposal" column
+  provides a link to the ISO C++ committee proposal that describes the
+  feature, while the "Available in GCC?" column indicates the first
+  version of GCC that contains an implementation of this feature (if
+  it has been implemented).</p>
+
+  <table border="1">
+    <tr class="separator">
+      <th>Language Feature</th>
+      <th>Proposal</th>
+      <th>Available in GCC?</th>
+      <th>SD-6 Feature Test</th>
+    </tr>
+    <tr>
+      <td>C++ concepts</td>
+      <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4377.pdf";>N4377</a></td>
+      <td class="supported" align="center"><a href="../gcc-6/changes.html#cxx">6</a></td>
+      <td> __cpp_concepts &gt;= 201507 </td>
+    </tr>
+  </table>
+
+  <h2>C++1z Library Features</h2>
+
+  <p>The status of the library implementation can be tracked in this
+  <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.201z";>table</a>.
+  </p>
+
+</body>
+</html>
+

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux