aboutsummaryrefslogtreecommitdiffstats
path: root/lang/gcc42/files/patch-c-decl.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/gcc42/files/patch-c-decl.c')
-rw-r--r--lang/gcc42/files/patch-c-decl.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/lang/gcc42/files/patch-c-decl.c b/lang/gcc42/files/patch-c-decl.c
new file mode 100644
index 000000000000..620989f79100
--- /dev/null
+++ b/lang/gcc42/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);