RE: C++ Concepts available in trunk?

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

 



> From: Jonathan Wakely [jwakely.gcc@xxxxxxxxx]
>Sent: 12 August 2015 17:41
>On 12 August 2015 at 16:20, Dijk, J. van wrote:
>> Dear all,
>>
>> Looking into gcc/cp/Changelog, it appears that on 2015-08-06 support
>> for the C++ Concepts TS was added to trunk.
>>
>> Have Concepts in gcc matured to the point that end-users can
>> start to explore and test them? If so, the page https://gcc.gnu.org/projects/cxx1y.html
>> needs an update, since it mentions the c++1z Concepts
>> Lite *branch* at the end of the document.
>
>Yes, the branch is not in use any longer, all support is on the trunk.
>
>> There is also no explanation how to enable experimental
>> c++1z features that I can see on that page (like there is for
>> c++14 at the top of the page). I suppose a new section on
>> 'C++1z language features' is due?
>
> Well it should be a separate page really, since that page is about
> C++14 not C++17.
>
> To enable the features just use the appropriate -std option, as
> documented in the manual:
> https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html

Dear Jonathan,

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.)

Regards, Jan.
diff -urN --exclude 'Entries*' wwwdocs-orig/htdocs/gcc-6/changes.html wwwdocs/htdocs/gcc-6/changes.html
--- wwwdocs-orig/htdocs/gcc-6/changes.html	2015-08-13 00:25:44.009826451 +0200
+++ wwwdocs/htdocs/gcc-6/changes.html	2015-08-13 00:15:36.507550280 +0200
@@ -68,6 +68,8 @@
 <h3 id="cxx">C++</h3>
   <ul>
     <li>The default mode has been changed to <code>-std=gnu++14</code>.</li>
+    <li> C++ concepts <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4377.pdf";>
+	(N4377)</a> are now supported when c++1z code generation is requested.</li>
   </ul>
 
 <h3 id="fortran">Fortran</h3>
diff -urN --exclude 'Entries*' wwwdocs-orig/htdocs/projects/cxx1y.html wwwdocs/htdocs/projects/cxx1y.html
--- wwwdocs-orig/htdocs/projects/cxx1y.html	2015-08-13 00:25:44.010826466 +0200
+++ wwwdocs/htdocs/projects/cxx1y.html	2015-08-13 00:07:54.726496707 +0200
@@ -174,6 +174,13 @@
 
   <a name="concepts"></a><h3>C++1z Concepts Branch</h3>
 
+<p><strong>Update</strong>: Support for the
+<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4377.pdf";>
+C++ Concepts Technical Specification</a>
+was merged into trunk at 6. August 2015 (revision r226713) and will
+be available in gcc-6. Users of the concepts branch are urged to switch
+to trunk instead.</p>
+
 <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
@@ -183,6 +190,7 @@
 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>
diff -urN --exclude 'Entries*' wwwdocs-orig/htdocs/projects/cxx1z.html wwwdocs/htdocs/projects/cxx1z.html
--- wwwdocs-orig/htdocs/projects/cxx1z.html	1970-01-01 01:00:00.000000000 +0100
+++ wwwdocs/htdocs/projects/cxx1z.html	2015-08-13 00:09:21.561823268 +0200
@@ -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 upcoming revision of the C++
+  standard, which is expected to be published in 2017. Until we are
+  sure of that, it will be referred to as C++1z.</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>. 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 under development, GCC's support is <strong>experimental</strong>
+  and features may disappear or change in incompatible ways as the standard
+  matures.</p>
+
+<h2>C++1z Language Features</h2>
+
+  <p>The following table lists new language features that are part of
+  the C++1z standard. 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>
+    </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.2014";>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