Commit Graph

23 Commits

Author SHA1 Message Date
David Schultz
e4c3a7fc88 Merge an important change that I mistakenly left out when merging C99
inline function support. This should fix instances where gcc
spuriously reports the following error:

    error: nested function 'foo' declared but never defined
2009-03-25 05:10:32 +00:00
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
Alexander Kabaev
9d6b9560a8 FreeBSD uses unchanged versions of this files. 2007-05-19 02:12:21 +00:00
Alexander Kabaev
f2d5255ddd Resolve conflicts after GCC 3.4.6 20060825 import. 2006-08-26 21:37:21 +00:00
David E. O'Brien
d109621656 Fix bug where static forward declarations weren't accepted.
This allows us to fix non-ISO-C constructs in our kernel to legal ISO-C.

Submitted by:	rodrigc
Obtained from:	http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00006.html
2005-09-07 09:23:39 +00:00
Alexander Kabaev
31a119f3ed Stock files. 2005-06-03 03:50:42 +00:00
Alexander Kabaev
7073af4071 Use stock version of this file.
Revision 1.3 to suppress warnings on K&R main is not useful anymore
since GCC suppresses such warnings unconditionally now.
2004-07-28 03:53:20 +00:00
Alexander Kabaev
0ebd98fb58 Merge r1.3 (suppress warnings on K&R main). 2003-11-07 03:21:29 +00:00
Alexander Kabaev
63cde6278d Merge FreeBSD modifications into gcc 3.3.1-release:
1.3 suppress warnings on K&R main.
2003-08-22 03:14:37 +00:00
Alexander Kabaev
fff64a6e53 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.3 suppress warnings on K&R main.

  Rev. 1.2 (options for kernel printf enhancements) changes have been
  moved to another
2003-07-11 05:11:14 +00:00
Alexander Kabaev
10a72f72d8 Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 kernel printf enhancements framework.
  1.3 suppress prototype warnings on K&R main.
2003-02-10 05:59:19 +00:00
David E. O'Brien
cc30d3f890 Merge revs 1.2 (kernel printf framework) and 1.3 (suppress K&R main warnings)
into Gcc 3.2.1 release.
2002-12-04 15:48:26 +00:00
Alexander Kabaev
819fe3892d Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework
  1.3 suppress warnings on K&R main

Approved by:	obrien
2002-10-10 04:46:44 +00:00
Alexander Kabaev
449bacd8c3 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework
  1.3 suppress warnings on K&R main

Approved by:	obrien
2002-09-01 20:53:28 +00:00
David E. O'Brien
8a75a69eaf If you want to not warn on K&R main(); this is how it should be implemented. 2002-05-14 01:44:02 +00:00
David E. O'Brien
2e0c661e02 Add framework for our kernel printf enhancements. 2002-05-14 00:30:25 +00:00
David E. O'Brien
909b401074 Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT. 2002-05-09 20:02:13 +00:00
David E. O'Brien
1952e2e1c1 Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
2002-02-01 18:16:02 +00:00
David E. O'Brien
c4ac962157 Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
David E. O'Brien
ce5adf112e Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch as of March 7th, 2000.
2000-03-09 09:21:46 +00:00
David E. O'Brien
f2c57ef828 Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
David E. O'Brien
2a266d02ba Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
Peter Wemm
a4cd5630b0 Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the
non-i386, non-unix, and generatable files have been trimmed, but can easily
be added in later if needed.

gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's
handy to have both available for reference for such little cost.

The freebsd-specific changes will then be committed, and once the dust has
settled, the bmakefiles will be committed to use this code.
1996-09-18 05:35:50 +00:00