aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2004-07-25 03:58:50 +0000
committerZack Weinberg <zack@gcc.gnu.org>2004-07-25 03:58:50 +0000
commitc5e36c09e5df095a140f98e064d14759a09e1108 (patch)
treee08d5c38fdbe7459662ce1f4849c678ef281f3ec /gcc/c-decl.c
parent9d55a9660d0e067d4265d3b82af7f25fbb8d018e (diff)
downloadgcc-c5e36c09e5df095a140f98e064d14759a09e1108.zip
gcc-c5e36c09e5df095a140f98e064d14759a09e1108.tar.gz
gcc-c5e36c09e5df095a140f98e064d14759a09e1108.tar.bz2
Zack Weinberg <zack@codesourcery.com
2004-07-24 Alexander Kabaev <kan@freebsd.org> Zack Weinberg <zack@codesourcery.com PR 16684 * c-decl.c (diagnose_mismatched_decls): Don't issue a redundant-declaration warning the first time a builtin is declared explicitly. testsuite: * gcc.dg/Wredundant-decls-1.c: New test case. From-SVN: r85140
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 65fd24d..41e7df0 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -1444,6 +1444,11 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl,
definition. */
&& !(TREE_CODE (newdecl) == FUNCTION_DECL
&& DECL_INITIAL (newdecl) && !DECL_INITIAL (olddecl))
+ /* Don't warn about redundant redeclarations of builtins. */
+ && !(TREE_CODE (newdecl) == FUNCTION_DECL
+ && !DECL_BUILT_IN (newdecl)
+ && DECL_BUILT_IN (olddecl)
+ && !C_DECL_DECLARED_BUILTIN (olddecl))
/* Don't warn about an extern followed by a definition. */
&& !(DECL_EXTERNAL (olddecl) && !DECL_EXTERNAL (newdecl))
/* Don't warn about forward parameter decls. */