On 10/02/2014 10:24 AM, Jonathan Wakely wrote:
On 02/10/14 10:09 -0400, Ed Smith-Rowland wrote:
On 10/02/2014 06:14 AM, Jonathan Wakely wrote:
On 02/10/14 11:12 +0100, Jonathan Wakely wrote:
Note Ed's recent changes. Committed to CVS.
And fix a markup error that I expected xmllint to catch :-(
Thank you! I tried to do this and couldn't for permissions. I'm
probably not doing it right.
If I remember my cvs-fu you need CVS_RHS=ssh and use
CVSROOT=:ext:$u...@gcc.gnu.org:/cvs/gcc (with your sourceware.org
username as $USER) and then it should work over SSH just like svn and
git.
Anyway, the real thing I wanted to suggest is we put a line for
C-family about the availability of __has_include and
__has_include_next. We could mention clang has it.
Good idea, I'm happy to commit a patch if you can prepare something.
OK, here is a patch for both using typename as a class key for template
template parms and for __has_include, etc.
Are these too wordy?
Ed
Index: htdocs/gcc-5/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
retrieving revision 1.14
diff -r1.14 changes.html
56a57,81
> <li>New preprocessor constructs, <code>__has_include_next</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>
>
88a114,117
> <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>