Documentation about C++ Concepts

Akim Demaille akim.demaille@gmail.com
Mon Dec 21 07:57:00 GMT 2015


> Le 21 déc. 2015 à 01:55, Jonathan Wakely <jwakely.gcc@gmail.com> a écrit :
> 
> On 20 December 2015 at 19:13, Akim Demaille <akim.demaille@gmail.com> wrote:
>> Hi!
>> 
>> I’m looking for a #if guard to enable/disable code using concepts-lite.
> 
> As required by the Concepts TS, the compiler defines __cpp_concepts
> when it supports concepts.

Great, thanks!

>> Also, the documentation about concepts seems to be about the previous attempts at concepts.
>> 
>> https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Concepts.html#C_002b_002b-Concepts
>> 
>> And actually, I did not find the documentation for c++1z, nor even -std=c++14.
> 
> https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html

Ah!  Thanks.  But then, I would suggest that this is misleading: the sections "Options Controlling C Dialect » and "Options Controlling C++ Dialect" are not as symmetrical as their names would imply.  Maybe the C++ section could at least have an item about -std that points to the C documentation.

> Also
> https://gcc.gnu.org/projects/cxx1y.html
> https://gcc.gnu.org/projects/cxx1z.html
> 
> 
>> https://gcc.gnu.org/onlinedocs/gcc/Standards.html#index-std-60

My point here was that this page documents C++ up to C++11, and points to "Options Controlling C++ Dialect" for more information about C++ standards, whereas you just showed that it’s the page about C dialects that should be pointed to, and that there are many more options that what this section reports.

>> 
>> Finally, one would expect to see documentation about -std in "Options Controlling C++ Dialect", since the corresponding about C documents -std for C.
>> 
>> https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#C_002b_002b-Dialect-Options
> 
> That's the documentation about -std in general, not -std for C. It
> says "The following options control the dialect of C (or languages
> derived from C, such as C++, …)"

Yes, thanks for pointing this out.  But I think that this is unfortunate.  Maybe -std deserves a section on its own.  I guess that gccgo, gnat and other also use this -std option, so even if the main documentation for GCC does not cover these languages, it would make sense to detach it from C.  Say next to -x.

This is just a suggestion, forget about it if it sounds stupid.



More information about the Gcc-help mailing list