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-head
mailing list