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="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>