This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Which standard is the default for -std?


John Rocha <jrr@cisco.com> writes:

> My man page for [gcc] indicates:
>
>   1. gnu89
>      is the default value "Default, ISO C90 plus GNU extension
>      (including some C(features)".
>   2. gnu99
>      "ISO C99 plus GNU extension. When IOS C99 is fully implemented in
>      GCC this will become the default."
>
> The version of [g++/gcc] I am using is as 4.1.2 20070115 (detailed
> listing shown at end) for Linux on a SUSE 10 SP1 machine.
>
> I went to gnu.org, navigated to the latest documentation for [g++/gcc]
> and found 4.4.3 20100121. The PDF documentation for 4.4.3 describes
> the '-std' options the same way: gnu89 is the current default, gnu99
> is the planned to be the future default.
>
> Is this still true?

Yes.

> So, is gnu89 still the default for the '-std' flag?

Yes.

I don't really know how we would decide to change the default.  The
handling of non-static inline functions is different in GNU89 and
C99/GNU99 modes.  This happened because inline functions do not exist
in C89, and C99 choose to follow C++, which is not how GNU89 behaves.
Changing the default is sure to break some currently working programs
(the -fgnu89-inline option can be used to restore the GNU89 inline
behaviour when in C99/GNU99 mode).  This incompatibility means that
flipping the default is not something to be done casually.


> Secondly, is there some flag or option that displays the settings,
> even the default settings that are in use? I know, RTFM and trust in
> it, but I've been burned by outdated documentation a few times. Hence
> my apprehension.

You can see the status of many options using -fverbose-asm and looking
in the .s file, but unfortunately the -std option doesn't seem to be
one of them.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]