svn commit: r189824 - in head/contrib/gcc: . doc

David Schultz das at FreeBSD.ORG
Sun Mar 15 08:57:43 PDT 2009


On Sun, Mar 15, 2009, Roman Divacky wrote:
> On Sat, Mar 14, 2009 at 07:36:13PM +0000, David Schultz wrote:
> > Author: das
> > Date: Sat Mar 14 19:36:13 2009
> > New Revision: 189824
> > URL: http://svn.freebsd.org/changeset/base/189824
> > 
> > Log:
> >   Make gcc use C99 inline semantics in c99 and gnu99 mode.  This was the
> >   original intent, but the functionality wasn't implemented until after
> >   gcc 4.2 was released. However, if you compiled a program that would
> >   behave differently before and after this change, gcc 4.2 would have
> >   warned you; hence, everything currently in the base system is
> >   unaffected by this change.  This patch also adds additional warnings
> >   about certain inline function-related bogosity, e.g., using a
> >   static non-const local variable in an inline function.
> >   
> >   These changes were merged from a snapshot of gcc mainline from March
> >   2007, prior to the GPLv3 switch. I then ran the regression test suite
> >   from a more recent gcc snapshot and fixed the important bugs it found.
> >   I also squelched the following warning unless -pedantic is specified:
> >   
> >       foo is static but used in inline function bar which is not static
> >   
> >   This is consistent with LLVM's behavior, but not consistent with gcc 4.3.
> 
> thnx a lot for doing this! just a quick question - what is the fallback
> strategy for ports that will die on this?

It depends, but the compiler option -fgnu89-inline (supported in
gcc 4.2+) should do the trick.


More information about the svn-src-all mailing list