https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99014

            Bug ID: 99014
           Summary: -Werror -Wno-foo with foo unrecognized results in an
                    error if another warning is emitted
           Product: gcc
           Version: 9.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vincent-gcc at vinc17 dot net
  Target Milestone: ---

Consider the following tst.c file:

int f (void)
{
#ifdef F
  int i;
#endif
  return 0;
}

With gcc-9 (Debian 9.3.0-22) 9.3.0:

zira:~> gcc-9 -Wextra -Werror -Wno-error=unused-variable -Wno-foo -c tst.c
zira:~> gcc-9 -Wextra -Werror -Wno-error=unused-variable -Wno-foo -c tst.c -DF
tst.c: In function ‘f’:
tst.c:4:7: warning: unused variable ‘i’ [-Wunused-variable]
    4 |   int i;
      |       ^
tst.c: At top level:
cc1: error: unrecognized command line option ‘-Wno-foo’ [-Werror]
cc1: all warnings being treated as errors

while -Wno-foo should be ignored as usual.

Ditto with gcc-8 (Debian 8.4.0-7) 8.4.0.

With gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, this is OK, -Wno-foo just emits
a non-fatal note:

zira:~> gcc-10 -Wextra -Werror -Wno-error=unused-variable -Wno-foo -c tst.c
zira:~> gcc-10 -Wextra -Werror -Wno-error=unused-variable -Wno-foo -c tst.c -DF
tst.c: In function ‘f’:
tst.c:4:7: warning: unused variable ‘i’ [-Wunused-variable]
    4 |   int i;
      |       ^
tst.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-foo’ may have been intended
to silence earlier diagnostics
  • [Bug c/99014] New: -Werror -Wno... vincent-gcc at vinc17 dot net via Gcc-bugs

Reply via email to