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

            Bug ID: 78927
           Summary: implicit-fallthrough is very picky about FALLTHROUGH
                    comment location
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: coypu at sdf dot org
  Target Milestone: ---

This is the (currently latest) 20161218 snapshot.

int main() {
        int num = 3;
        int a;
        switch (num) {
                case 1:
                {
                        a = 3;
                        /* FALLTHROUGH */
                }
                case 2:
                {
                        a = 2;
                        break;
                }
                default:
                        a = 3;
        }
        return 0;
}

% /home/pkg2/pkg/gcc7snapshot/bin/gcc -Werror=implicit-fallthrough test16.c
test16.c: In function ‘main’:
test16.c:7:6: error: this statement may fall through
[-Werror=implicit-fallthrough=]
    a = 3;
    ~~^~~
test16.c:10:3: note: here
   case 2:
   ^~~~
cc1: some warnings being treated as errors

% /home/pkg2/pkg/gcc7snapshot/bin/gcc --version
gcc (GCC) 7.0.0 20161218 (experimental)
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

There are some more warnings I get while compiling netbsd's kernel regarding
FALLTHRU location, but perhaps more "controversial" than this.
Moving the FALLTHROUGH comment one line below works.

Reply via email to