Support for __VA_OPT__ in gcc

Edward Diener eldlistmailingz@tropicsoft.com
Tue Oct 1 14:59:00 GMT 2019


On 10/1/2019 7:13 AM, Jonathan Wakely wrote:
> On Tue, 1 Oct 2019 at 01:25, Edward Diener wrote:
>> How do I find out, for a given gcc compiler product such as gcc-9.2,
>> what the gnu extensions are when I specify '-std=c++nn' and when I
>> specify '-std=gnu++nn' for any given valid 'nn' ? When I look in the
>> documentation for '-std' in gcc-9.2 the only explanation I can see at
>> https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/C-Dialect-Options.html#C-Dialect-Options
>> does not give me that information. Does it exist somewhere online or in
>> the gcc docs ?
> 
> The documented extensions (and when they are enabled) are covered in
> https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/#toc-Extensions-to-the-C-Language-Family
> and https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/#toc-Extensions-to-the-C_002b_002b-Language
> (or just search for "extensions" in the TOC).
> 

Thanks for the links. But I am trying to understand the difference 
between, let's say, '-std=c++17' and '-std=gnu++17'. Clearly they can 
not be offering the exact same gnu extensions, else there would not be 
two different settings for the C++ standard 2017 in gcc. You have said 
that '-std=c++17' is not necessarily just the C++17 standard but may 
also include some gnu extensions. So the gnu extensions included in 
'-std=c++17' must be different than the gnu extensions included in 
'-std=gnu++17'. How is it possible to find out the difference in gnu 
extensions between the two ? Is there any documentation that explains 
that difference, or is it left for the programmer to experiment and see 
what is there in each case ?



More information about the Gcc-help mailing list