diff mbox

[wwwdocs] Add recent C++ changes to gcc-5/changes.html

Message ID 20141017123418.GX4197@redhat.com
State New
Headers show

Commit Message

Jonathan Wakely Oct. 17, 2014, 12:34 p.m. UTC
Committed to CVS.

Comments

Gerald Pfeifer Oct. 19, 2014, 8:19 p.m. UTC | #1
On Friday 2014-10-17 13:34, Jonathan Wakely wrote:

Index: htdocs/gcc-5/changes.html
===================================================================
@@ -128,12 +164,13 @@
       <ul>
         <li> Class <code>std::experimental::any</code>; </li>
         <li> Function template <code>std::experimental::apply</code>; </li>
+        <li> Variable templates for type traits; </li>

The trailing semi-colon feels a bit odd, doesn't it?

(Also, when using a semi-colon, wouldn't the next word -- Function
and Variable here -- be lower-case?)

Gerald
Jonathan Wakely Oct. 20, 2014, 11:27 a.m. UTC | #2
On 19/10/14 22:19 +0200, Gerald Pfeifer wrote:
>On Friday 2014-10-17 13:34, Jonathan Wakely wrote:
>
>Index: htdocs/gcc-5/changes.html
>===================================================================
>@@ -128,12 +164,13 @@
>      <ul>
>        <li> Class <code>std::experimental::any</code>; </li>
>        <li> Function template <code>std::experimental::apply</code>; </li>
>+        <li> Variable templates for type traits; </li>
>
>The trailing semi-colon feels a bit odd, doesn't it?
>
>(Also, when using a semi-colon, wouldn't the next word -- Function
>and Variable here -- be lower-case?)

Yes, I'll fix these next time I change the file.
diff mbox

Patch

? htdocs/gcc-5/.changes.html.swp
Index: htdocs/gcc-5/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
retrieving revision 1.18
diff -u -r1.18 changes.html
--- htdocs/gcc-5/changes.html	15 Oct 2014 11:21:52 -0000	1.18
+++ htdocs/gcc-5/changes.html	17 Oct 2014 12:28:16 -0000
@@ -60,6 +60,31 @@ 
     <li>Full support for <a href="https://www.cilkplus.org/">Cilk Plus</a>
 	has been added to the GCC compiler. Cilk Plus is an extension to
 	the C and C++ languages to support data and task parallelism.</li>
+    <li>New preprocessor constructs, <code>__has_include</code>
+        and <code>__has_include_next</code>, to test the availability of headers
+        have been added.<br/>
+        This demonstrates a way to include the header <code>&lt;optional&gt;</code>
+        only if it is available:<br/>
+<blockquote><pre>
+#ifdef __has_include
+#  if __has_include(&lt;optional&gt;)
+#    include &lt;optional&gt;
+#    define have_optional 1
+#  elif __has_include(&lt;experimental/optional&gt;)
+#    include &lt;experimental/optional&gt;
+#    define have_optional 1
+#    define experimental_optional
+#  else
+#    define have_optional 0
+#  endif
+#endif
+</pre></blockquote>
+        The header search paths for <code>__has_include_next</code>
+        and <code>__has_include_next</code> are equivalent to those
+        of the standard directive <code>#include</code>
+        and the extension <code>#include_next</code> respectively.
+    </li>
+
   </ul>
 
 <h3 id="c">C</h3>
@@ -93,6 +118,10 @@ 
   <li>G++ and libstdc++ now implement the feature-testing macros from
     <a href="http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations">Feature-testing
     recommendations for C++</a>.</li>
+  <li>G++ now allows <code>typename</code> in a template template parameter.
+    <blockquote><pre>
+      template&lt;template&lt;typename&gt; <b>typename</b> X&gt; struct D; // OK
+    </pre></blockquote></li>
 </ul>
 
   <h4 id="libstdcxx">Runtime Library (libstdc++)</h4>
@@ -100,11 +129,18 @@ 
     <li><a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011">
       Improved support for C++11</a>, including:
       <ul>
+        <li> A new implementation of <code>std::list</code> is enabled by
+             default, with an O(1) <code>size()</code> function; </li>
         <li> <code>std::deque</code> meets the allocator-aware container requirements;</li>
         <li> movable and swappable iostream classes;</li>
-        <li> support for <code>std::aligned_union</code>;</li>
-        <li> I/O manipulators <code>std::hexfloat</code> and
-            <code>std::defaultfloat</code>;
+        <li> support for <code>std::align</code> and
+             <code>std::aligned_union</code>;</li>
+        <li> Type traits <code>std::is_trivially_copyable</code>,
+             <code>std::is_trivially_constructible</code>,
+             <code>std::is_trivially_assignable</code> etc.;
+        </li>
+        <li> I/O manipulators <code>std::put_time</code>,
+             <code>std::hexfloat</code> and <code>std::defaultfloat</code>;
         </li>
       </ul>
     </li>
@@ -128,12 +164,13 @@ 
       <ul>
         <li> Class <code>std::experimental::any</code>; </li>
         <li> Function template <code>std::experimental::apply</code>; </li>
+        <li> Variable templates for type traits; </li>
       </ul>
     </li>
     <li>New random number distributions <code>logistic_distribution</code> and
       <code>uniform_on_sphere_distribution</code> as extensions.</li>
     <li><a href="https://sourceware.org/gdb/current/onlinedocs/gdb/Xmethods-In-Python.html">GDB
-      Xmethods</a> for <code>std::vector</code> and <code>std::unique_ptr</code>;</li>
+      Xmethods</a> for Sequence Containers and <code>std::unique_ptr</code>;</li>
   </ul>
 
 <h3 id="fortran">Fortran</h3>