diff options
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r-- | gcc/c-decl.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 648c805..ed0bf9c 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -2376,18 +2376,16 @@ pushdecl_top_level (tree x) static void implicit_decl_warning (tree id, tree olddecl) { - void (*diag) (const char *, ...) ATTRIBUTE_GCC_CDIAG(1,2); - switch (mesg_implicit_function_declaration) + if (warn_implicit_function_declaration) { - case 0: return; - case 1: diag = warning0; break; - case 2: diag = error; break; - default: gcc_unreachable (); + if (flag_isoc99) + pedwarn (G_("implicit declaration of function %qE"), id); + else + warning (OPT_Wimplicit_function_declaration, + G_("implicit declaration of function %qE"), id); + if (olddecl) + locate_old_decl (olddecl, inform); } - - diag (G_("implicit declaration of function %qE"), id); - if (olddecl) - locate_old_decl (olddecl, diag); } /* Generate an implicit declaration for identifier FUNCTIONID as a |