diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 2005-09-07 10:15:08 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 2005-09-07 10:15:08 +0000 |
commit | 9a1e2926b4af2bc07e1d5dca63f69a4651d905c6 (patch) | |
tree | ab4cc6b6262d8d157d1cdcbe2496b5c4c08449cd /lang/gcc46 | |
parent | 102f07d33d2e3512212dc942e34caab77ac71b50 (diff) | |
download | ports-9a1e2926b4af2bc07e1d5dca63f69a4651d905c6.tar.gz ports-9a1e2926b4af2bc07e1d5dca63f69a4651d905c6.zip |
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
Notes
Notes:
svn path=/head/; revision=142157
Diffstat (limited to 'lang/gcc46')
-rw-r--r-- | lang/gcc46/files/patch-c-decl.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lang/gcc46/files/patch-c-decl.c b/lang/gcc46/files/patch-c-decl.c new file mode 100644 index 000000000000..620989f79100 --- /dev/null +++ b/lang/gcc46/files/patch-c-decl.c @@ -0,0 +1,16 @@ +$FreeBSD$ + +--- gcc/c-decl.c.orig Wed Aug 17 17:21:28 2005 ++++ gcc/c-decl.c Wed Sep 7 02:18:44 2005 +@@ -1555,7 +1555,10 @@ diagnose_mismatched_decls (tree newdecl, + && !(DECL_EXTERNAL (olddecl) && !DECL_EXTERNAL (newdecl)) + /* Don't warn about forward parameter decls. */ + && !(TREE_CODE (newdecl) == PARM_DECL +- && TREE_ASM_WRITTEN (olddecl) && !TREE_ASM_WRITTEN (newdecl))) ++ && TREE_ASM_WRITTEN (olddecl) && !TREE_ASM_WRITTEN (newdecl)) ++ /* Don't warn about a variable definition following a declaration. */ ++ && !(TREE_CODE (newdecl) == VAR_DECL ++ && DECL_INITIAL (newdecl) && !DECL_INITIAL (olddecl))) + { + warning (OPT_Wredundant_decls, "redundant redeclaration of %q+D", + newdecl); |