John Rocha <jrr@xxxxxxxxx> 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