This is the mail archive of the mailing list for the libstdc++ project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

Committed to CVS.
? 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="";>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/>
+#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
+        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>
 <h3 id="c">C</h3>
@@ -93,6 +118,10 @@
   <li>G++ and libstdc++ now implement the feature-testing macros from
     <a href="";>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>
   <h4 id="libstdcxx">Runtime Library (libstdc++)</h4>
@@ -100,11 +129,18 @@
     <li><a href="";>
       Improved support for C++11</a>, including:
+        <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>;
@@ -128,12 +164,13 @@
         <li> Class <code>std::experimental::any</code>; </li>
         <li> Function template <code>std::experimental::apply</code>; </li>
+        <li> Variable templates for type traits; </li>
     <li>New random number distributions <code>logistic_distribution</code> and
       <code>uniform_on_sphere_distribution</code> as extensions.</li>
     <li><a href="";>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>
 <h3 id="fortran">Fortran</h3>

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]