freebsd-dev/contrib/gcc/doc
David Schultz d5ed956300 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.

Reviewed by:	arch@
2009-03-14 19:36:13 +00:00
..
include GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
bugreport.texi Gcc 3.4.2 20040728. 2004-07-28 03:11:36 +00:00
c-tree.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
cfg.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
collect2.texi Gcc 3.3.1-release. 2003-08-22 02:56:07 +00:00
compat.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
configfiles.texi Gcc 3.4.2 20040728. 2004-07-28 03:11:36 +00:00
configterms.texi Gcc 3.4.2 20040728. 2004-07-28 03:11:36 +00:00
contrib.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
contribute.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
cpp.1 GCC 4.2.1 release. 2007-08-14 02:45:23 +00:00
cpp.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
cppenv.texi Gcc 3.4.2 20040728. 2004-07-28 03:11:36 +00:00
cppinternals.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
cppopts.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
extend.texi Make gcc use C99 inline semantics in c99 and gnu99 mode. This was the 2009-03-14 19:36:13 +00:00
fragments.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
frontends.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
gcc.1 GCC 4.2.1 release. 2007-08-14 02:45:23 +00:00
gcc.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
gccint.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
gcov.1 GCC 4.2.1 release. 2007-08-14 02:45:23 +00:00
gcov.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
gnu.texi Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0. 2002-02-01 18:16:02 +00:00
gty.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
headerdirs.texi Gcc 3.3.1-release. 2003-08-22 02:56:07 +00:00
hostconfig.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
implement-c.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
interface.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
invoke.texi Doc updates for changes in the default values of 2008-08-10 19:35:09 +00:00
languages.texi Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0. 2002-02-01 18:16:02 +00:00
libgcc.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
loop.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
makefile.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
md.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
objc.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
options.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
passes.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
portability.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
rtl.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
service.texi Gcc 3.3.1-pre as of 2003-07-11. 2003-07-11 03:40:53 +00:00
sourcebuild.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
standards.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
tm.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
tree-ssa.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
trouble.texi GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00