? htdocs/gcc-5/.changes.html.swp
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
retrieving revision 1.18
@@ -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><optional></code>
+ only if it is available:<br/>
+<blockquote><pre>
+#ifdef __has_include
+# if __has_include(<optional>)
+# include <optional>
+# define have_optional 1
+# elif __has_include(<experimental/optional>)
+# include <experimental/optional>
+# 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<template<typename> <b>typename</b> X> 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>