c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls...
authorCraig Rodrigues <rodrigc@gcc.gnu.org>
Fri, 2 Sep 2005 01:09:42 +0000 (01:09 +0000)
committerCraig Rodrigues <rodrigc@gcc.gnu.org>
Fri, 2 Sep 2005 01:09:42 +0000 (01:09 +0000)
* c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
do not issue warning for a variable definition following
a declaration.

From-SVN: r103758

gcc/ChangeLog
gcc/c-decl.c

index ee5537b..2ca4920 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+
+       * c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
+       do not issue warning for a variable definition following
+       a declaration.
+
 2005-09-01  Richard Henderson  <rth@redhat.com>
 
        PR 23668
index 6d60fd0..f3b8d64 100644 (file)
@@ -1555,7 +1555,10 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl,
       && !(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);