diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2010-05-06 10:12:36 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2010-05-06 10:12:36 +0000 |
commit | 3734d9607ee407f4c73aa613f96dbfbc0dd6f500 (patch) | |
tree | dbd0e72df35da905dec3347904aaa7d7fac6dd9d /gcc/c-common.h | |
parent | 2b90475adda974b77287699beb1180d1cd6e286b (diff) | |
download | gcc-3734d9607ee407f4c73aa613f96dbfbc0dd6f500.zip gcc-3734d9607ee407f4c73aa613f96dbfbc0dd6f500.tar.gz gcc-3734d9607ee407f4c73aa613f96dbfbc0dd6f500.tar.bz2 |
re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)
2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 40989
* doc/invoke.texi (Wimplicit): Document as C only.
* opts.c (common_handle_option): Add argument kind.
(handle_option): Rename as read_cmdline_option. Factor out code to...
(handle_option): ... here. New.
(handle_options): Rename as read_cmdline_options.
(decode_options): Update call.
(set_option): Use option index instead of option pointer. Classify
diagnostics correctly.
(enable_warning_as_error): Call handle_option.
* opts.h (set_option): Update declaration.
(handle_option): Declare.
* langhooks.h (struct lang_hooks): Add argument kind to
handle_option.
* c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
* c-opts.c (set_Wimplicit): Delete.
(c_family_lang_mask): New static constant.
(c_common_handle_option): Add argument kind. Use handle_option
instead of set_Wimplicit.
(c_common_post_options): warn_implicit and warn_implicit_int
are disabled by default.
* c-common.c (warn_implicit): Do not define here.
* c-common.h (warn_implicit): Do not declare here.
(c_common_handle_option): Update declaration.
* lto-opts.c (lto_reissue_options): Update call to set_option.
java/
* lang.c (java_handle_option): Add argument kind.
fortran/
* options.c (gfc_handle_option): Add argument kind.
* gfortran.h (gfc_handle_option): Update declaration.
ada/
* gcc-interface/misc.c (gnat_handle_option): Add argument kind.
testsuite/
* gcc.dg/pr40989.c: New.
From-SVN: r159102
Diffstat (limited to 'gcc/c-common.h')
-rw-r--r-- | gcc/c-common.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/gcc/c-common.h b/gcc/c-common.h index 7f47c2e..0da83d5 100644 --- a/gcc/c-common.h +++ b/gcc/c-common.h @@ -750,10 +750,6 @@ extern int flag_threadsafe_statics; extern int flag_pretty_templates; -/* Nonzero means warn about implicit declarations. */ - -extern int warn_implicit; - /* Warn about using __null (as NULL in C++) as sentinel. For code compiled with GCC this doesn't matter as __null is guaranteed to have the right size. */ @@ -827,7 +823,7 @@ extern void set_Wformat (int); extern tree handle_format_attribute (tree *, tree, tree, int, bool *); extern tree handle_format_arg_attribute (tree *, tree, tree, int, bool *); extern bool attribute_takes_identifier_p (const_tree); -extern int c_common_handle_option (size_t code, const char *arg, int value); +extern int c_common_handle_option (size_t code, const char *arg, int value, int kind); extern bool c_common_missing_argument (const char *opt, size_t code); extern tree c_common_type_for_mode (enum machine_mode, int); extern tree c_common_type_for_size (unsigned int, int); |