Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C Programming (http://www.velocityreviews.com/forums/f42-c-programming.html)
-   -   man gcc doesn't mention -std=c90 (http://www.velocityreviews.com/forums/t950104-man-gcc-doesnt-mention-std-c90.html)

learnerlone@gmail.com 08-12-2012 11:32 AM

man gcc doesn't mention -std=c90
 
This is what the man page for gcc tells me regarding -std options for the C language:

-std=
Determine the language standard. This option is
currently only supported when compiling C or C++.

The compiler can accept several base standards, such
as c89 or c++98, and GNU dialects of those standards,
such as gnu89 or gnu++98. By specifying a base
standard, the compiler will accept all programs
following that standard and those using GNU
extensions that do not contradict it. For example,
-std=c89 turns off certain features of GCC that are
incompatible with ISO C90, such as the "asm" and
"typeof" keywords, but not other GNU extensions that
do not have a meaning in ISO C90, such as omitting
the middle term of a "?:" expression. On the other
hand, by specifying a GNU dialect of a standard, all
features the compiler support are enabled, even when
those features change the meaning of the base
standard and some strict-conforming programs may be
rejected. The particular standard is used by
-pedantic to identify which features are GNU
extensions given that version of the standard. For
example -std=gnu89 -pedantic would warn about C++
style // comments, while -std=gnu99 -pedantic would
not.

A value for this option must be provided; possible
values are

c89
iso9899:1990
Support all ISO C90 programs (certain GNU
extensions that conflict with ISO C90 are
disabled). Same as -ansi for C code.

iso9899:199409
ISO C90 as modified in amendment 1.

c99
c9x
iso9899:1999
iso9899:199x
ISO C99. Note that this standard is not yet
fully supported; see
<http://gcc.gnu.org/gcc-4.4/c99status.html> for
more information. The names c9x and iso9899:199x
are deprecated.

gnu89
GNU dialect of ISO C90 (including some C99
features). This is the default for C code.

gnu99
gnu9x
GNU dialect of ISO C99. When ISO C99 is fully
implemented in GCC, this will become the default.
The name gnu9x is deprecated.

But at http://gcc.gnu.org/onlinedocs/gcc/C-...t-Options.html I learnt that -std=c90 is synonymous to -ansi. I have confirmed that -c89 and -c90 both work with my compiler but I can't understand why the man page doesn't mention -c90.

My gcc version:

$ gcc --version
gcc (Debian 4.7.1-2) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

James Kuyper 08-12-2012 12:10 PM

Re: man gcc doesn't mention -std=c90
 
On 08/12/2012 07:32 AM, learnerlone@gmail.com wrote:
....
> But at http://gcc.gnu.org/onlinedocs/gcc/C-...t-Options.html I learnt that -std=c90 is synonymous to -ansi. I have confirmed that -c89 and -c90 both work with my compiler but I can't understand why the man page doesn't mention -c90.


That's a defect in the gcc documentation, and I would recommend
reporting it at <http://gcc.gnu.org/bugzilla>. Even better, volunteer to
fix it - they'll be very happy to accept your help, and fixing such
documentation issues doesn't require as much specialized knowledge as
solving software defects.

This is not the best forum for discussing compiler-specific issues, it
is for discussion of the C language itself, regardless of which compiler
is used.
--
James Kuyper

Ben Bacarisse 08-12-2012 03:34 PM

Re: man gcc doesn't mention -std=c90
 
James Kuyper <jameskuyper@verizon.net> writes:

> On 08/12/2012 07:32 AM, learnerlone@gmail.com wrote:
> ...
>> But at http://gcc.gnu.org/onlinedocs/gcc/C-...t-Options.html I
>> learnt that -std=c90 is synonymous to -ansi. I have confirmed that
>> -c89 and -c90 both work with my compiler but I can't understand why
>> the man page doesn't mention -c90.

>
> That's a defect in the gcc documentation, and I would recommend
> reporting it at <http://gcc.gnu.org/bugzilla>.


My version (4.6.3) lists -std=c90 as an alternative, so it's been
fixed. If the OP's version is widely used it may still be worth fixing
but I'd say it's low priority.

<snip>
--
Ben.


All times are GMT. The time now is 01:01 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.