aboutsummaryrefslogtreecommitdiff
path: root/lang/gcc46
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2005-09-07 10:15:08 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2005-09-07 10:15:08 +0000
commit9a1e2926b4af2bc07e1d5dca63f69a4651d905c6 (patch)
treeab4cc6b6262d8d157d1cdcbe2496b5c4c08449cd /lang/gcc46
parent102f07d33d2e3512212dc942e34caab77ac71b50 (diff)
downloadports-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.c16
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);