diff options
author | Jakub Jelinek <jakub@redhat.com> | 2015-12-08 14:26:35 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-12-08 14:26:35 +0100 |
commit | 63bbf46d5f44f34a54f4e9cff62377516633fb7f (patch) | |
tree | 0e888f7e79d4144fe4ea4fc640d979765f209cc9 /gcc/opts.c | |
parent | 091db7b0af49a12ecb6fea88c0e4443444ee82bd (diff) | |
download | gcc-63bbf46d5f44f34a54f4e9cff62377516633fb7f.zip gcc-63bbf46d5f44f34a54f4e9cff62377516633fb7f.tar.gz gcc-63bbf46d5f44f34a54f4e9cff62377516633fb7f.tar.bz2 |
re PR c/48088 (-Werror=frame-larger-than=100 does not work as expected)
PR c/48088
PR c/68657
* common.opt (Wframe-larger-than=): Add Warning.
* opts.h (control_warning_option): Add ARG argument.
* opts-common.c (cmdline_handle_error): New function.
(read_cmdline_option): Use it.
(control_warning_option): Likewise. Add ARG argument.
If non-NULL, decode it if needed and pass through
to handle_generated_option. Handle CLVC_ENUM like
CLVC_BOOLEAN.
* opts.c (common_handle_option): Adjust control_warning_option
caller.
(enable_warning_as_error): Likewise.
c-family/
* c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
* c-pragma.c (handle_pragma_diagnostic): Adjust
control_warning_option caller.
ada/
* gcc-interface/trans.c (Pragma_to_gnu): Adjust
control_warning_option caller.
testsuite/
* c-c++-common/pr68657-1.c: New test.
* c-c++-common/pr68657-2.c: New test.
* c-c++-common/pr68657-3.c: New test.
* gcc.dg/cpp/warn-normalized-3.c: Use
-Werror=normalized=nfc instead of -Werror=normalized=
in dg-options.
From-SVN: r231406
Diffstat (limited to 'gcc/opts.c')
-rw-r--r-- | gcc/opts.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -2114,7 +2114,7 @@ common_handle_option (struct gcc_options *opts, case OPT_pedantic_errors: dc->pedantic_errors = 1; - control_warning_option (OPT_Wpedantic, DK_ERROR, value, + control_warning_option (OPT_Wpedantic, DK_ERROR, NULL, value, loc, lang_mask, handlers, opts, opts_set, dc); @@ -2437,8 +2437,11 @@ enable_warning_as_error (const char *arg, int value, unsigned int lang_mask, else { const diagnostic_t kind = value ? DK_ERROR : DK_WARNING; + const char *arg = NULL; - control_warning_option (option_index, (int) kind, value, + if (cl_options[option_index].flags & CL_JOINED) + arg = new_option + cl_options[option_index].opt_len; + control_warning_option (option_index, (int) kind, arg, value, loc, lang_mask, handlers, opts, opts_set, dc); } |