* opts.c: Ignore -Wno-error=<some-future-warning>. --- gcc/opts.c | 5 ++++- gcc/testsuite/c-c++-common/pr89524.c | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/c-c++-common/pr89524.c
diff --git a/gcc/opts.c b/gcc/opts.c index 468abb16334..f9a490cc7c2 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -3079,7 +3079,10 @@ enable_warning_as_error (const char *arg, int value, unsigned int lang_mask, strcpy (new_option + 1, arg); option_index = find_opt (new_option, lang_mask); if (option_index == OPT_SPECIAL_unknown) - error_at (loc, "-Werror=%s: no option -%s", arg, new_option); + { + if (value) + error_at (loc, "-Werror=%s: no option -%s", arg, new_option); + } else if (!(cl_options[option_index].flags & CL_WARNING)) error_at (loc, "-Werror=%s: -%s is not an option that controls warnings", arg, new_option); diff --git a/gcc/testsuite/c-c++-common/pr89524.c b/gcc/testsuite/c-c++-common/pr89524.c new file mode 100644 index 00000000000..71bf745f57d --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr89524.c @@ -0,0 +1,7 @@ +/* PR c/89524 */ +/* { dg-options "-Werror -Wno-error=some-future-warning" } */ + +int main(int argc, char **argv) +{ + return 0; +} -- 2.21.0