re PR c/26494 (-pedantic-errors can be overridden by -W*)
authorManuel López-Ibáñez <manu@gcc.gnu.org>
Thu, 15 Feb 2007 22:31:17 +0000 (22:31 +0000)
committerManuel López-Ibáñez <manu@gcc.gnu.org>
Thu, 15 Feb 2007 22:31:17 +0000 (22:31 +0000)
commitdc90f45b24a668f465d50a4db2253c7b84cd1c2d
tree73dcde30921d36f76037d1d0106b2271a8aa2058
parent214931020be4420e7a5eb537813dc918b9cada58
re PR c/26494 (-pedantic-errors can be overridden by -W*)

2007-02-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c/26494
* doc/invoke.texi (Warning Options): Remove
-Werror-implicit-function-declaration.
(Wimplicit-function-declaration): Update description.
* opts.c (common_handle_option): Move handling of -Werror=* to...
(enable_warning_as_error): ...here.
* opts.h (enable_warning_as_error): Declare.
* c-decl.c (implicit_decl_warning): Unless
-Wno-implicit-function-declaration is given, emit a pedwarn if
-std=c99 or emit a warning if -Wimplicit-function-declaration.
* c.opt (Wimplicit-function-declaration): Replace
mesg_implicit_function_declaration with
warn_implicit_function_declaration.
* c-opts.c (c_common_handle_option):
-Werror-implicit-function-declaration is exactly equal as
-Werror=implicit-function-declaration.
(set_Wimplicit): Replace mesg_implicit_function_declaration with
warn_implicit_function_declaration.
(c_common_post_options): -Wimplict-function-declaration is enabled
by default by -std=c99, otherwise is disabled by default.
* c-objc-common.c (c_objc_common_init): Remove flawed logic.
testsuite/
* gcc.dg/Wimplicit-function-declaration-c89.c: New.
* gcc.dg/Wimplicit-function-declaration-c89-default.c: New.
* gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: New.
* gcc.dg/Wimplicit-function-declaration-c99.c: New.
* gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: New.
* gcc.dg/Werror-implicit-function-declaration.c: New.

From-SVN: r122017
15 files changed:
gcc/ChangeLog
gcc/c-decl.c
gcc/c-objc-common.c
gcc/c-opts.c
gcc/c.opt
gcc/doc/invoke.texi
gcc/opts.c
gcc/opts.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Werror-implicit-function-declaration.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-default.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-pedantic.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99-pedantic.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99.c [new file with mode: 0644]