From: Richard Kenner Date: Tue, 12 Nov 1996 19:17:33 +0000 (-0500) Subject: (grokdeclarator): Generate a warning if -Wimplicit, unless a warning X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=720283f2ebd1517cce58eb73f41701c2e4bc7fad;p=gcc.git (grokdeclarator): Generate a warning if -Wimplicit, unless a warning was already generated by -Wreturn-type. From-SVN: r13135 --- diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 13d6887d14d..accc0257e96 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -4277,10 +4277,20 @@ grokdeclarator (declarator, declspecs, decl_context, initialized) if (type == 0) { - if (funcdef_flag && warn_return_type - && ! (specbits & ((1 << (int) RID_LONG) | (1 << (int) RID_SHORT) - | (1 << (int) RID_SIGNED) | (1 << (int) RID_UNSIGNED)))) - warn_about_return_type = 1; + if (! (specbits & ((1 << (int) RID_LONG) | (1 << (int) RID_SHORT) + | (1 << (int) RID_SIGNED) + | (1 << (int) RID_UNSIGNED)))) + { + /* C9x will probably require a diagnostic here. + For now, issue a warning if -Wreturn-type and this is a function, + or if -Wimplicit; prefer the former warning since it is more + explicit. */ + if ((warn_implicit || warn_return_type) && funcdef_flag) + warn_about_return_type = 1; + else if (warn_implicit) + warning ("type defaults to `int' in declaration of `%s'", name); + } + defaulted_int = 1; type = integer_type_node; }