We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 3780

Summary: GCC 7 implicit fallthrough warnings
Product: SDL Reporter: Martin Gerhardy <martin.gerhardy>
Component: buildAssignee: Sam Lantinga <slouken>
Status: RESOLVED FIXED QA Contact: Sam Lantinga <slouken>
Severity: trivial    
Priority: P2 CC: icculus, sezeroz
Version: HG 2.1   
Hardware: All   
OS: All   

Description Martin Gerhardy 2017-08-28 06:58:01 UTC
SDL_blit.h, SDL_fillrect.c and SDL_stdinc.h produces a lot of the (new) gcc-7 implicit fallthrough warnings.
Comment 1 Sam Lantinga 2017-08-28 16:31:45 UTC
I don't have gcc 7 here, can you attach the output? Do you have a patch to fix the warnings?
Comment 2 Martin Gerhardy 2017-09-06 16:02:05 UTC
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1274:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1277:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
             ++dst;
             ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 4:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1274:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:5: note: here
     case 3:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1274:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1277:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
             ++dst;
             ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 3:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1274:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:5: note: here
     case 2:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1274:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1277:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
             ++dst;
             ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 2:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1274:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:482:5: note: here
     case 1:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1274:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c: In function ‘Blit_RGB565_32’:
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1390:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
             src += 2;
             ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:475:21: note: in definition of macro ‘DUFFS_LOOP8’
     case 0: do {    pixel_copy_increment;                               \
                     ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:5: note: here
     case 7:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1390:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
             src += 2;
             ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 7:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:5: note: here
     case 6:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1390:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
             src += 2;
             ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 6:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:5: note: here
     case 5:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1390:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
             src += 2;
             ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 5:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:5: note: here
     case 4:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1390:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
             src += 2;
             ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 4:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:5: note: here
     case 3:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1390:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
             src += 2;
             ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 3:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:5: note: here
     case 2:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1390:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
             src += 2;
             ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 2:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:482:5: note: here
     case 1:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:1387:9: note: in expansion of macro ‘DUFFS_LOOP’
         DUFFS_LOOP(
         ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c: In function ‘BlitNto1’:
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2022:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:475:21: note: in definition of macro ‘DUFFS_LOOP8’
     case 0: do {    pixel_copy_increment;                               \
                     ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:5: note: here
     case 7:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2022:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 7:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:5: note: here
     case 6:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2022:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 6:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:5: note: here
     case 5:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2022:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 5:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:5: note: here
     case 4:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2022:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 4:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:5: note: here
     case 3:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2022:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 3:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:5: note: here
     case 2:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2022:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 2:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:482:5: note: here
     case 1:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2012:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2054:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:475:21: note: in definition of macro ‘DUFFS_LOOP8’
     case 0: do {    pixel_copy_increment;                               \
                     ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:5: note: here
     case 7:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2054:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 7:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:5: note: here
     case 6:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2054:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 6:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:5: note: here
     case 5:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2054:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 5:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:5: note: here
     case 4:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2054:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 4:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:5: note: here
     case 3:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2054:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 3:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:5: note: here
     case 2:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2054:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 src += srcbpp;
                 ~~~~^~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 2:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:482:5: note: here
     case 1:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2044:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c: In function ‘Blit4to4MaskAlpha’:
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2098:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:475:21: note: in definition of macro ‘DUFFS_LOOP8’
     case 0: do {    pixel_copy_increment;                               \
                     ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:5: note: here
     case 7:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2098:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 7:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:5: note: here
     case 6:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2098:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 6:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:5: note: here
     case 5:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2098:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 5:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:5: note: here
     case 4:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2098:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 4:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:5: note: here
     case 3:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2098:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 3:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:5: note: here
     case 2:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2098:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:481:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 2:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:482:5: note: here
     case 1:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2094:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2115:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:475:21: note: in definition of macro ‘DUFFS_LOOP8’
     case 0: do {    pixel_copy_increment;                               \
                     ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:5: note: here
     case 7:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2115:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:476:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 7:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:5: note: here
     case 6:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2115:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:477:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 6:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:5: note: here
     case 5:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2115:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:478:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 5:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:5: note: here
     case 4:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2115:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 ++src;
                 ^~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:479:17: note: in definition of macro ‘DUFFS_LOOP8’
     case 4:     pixel_copy_increment;                                   \
                 ^~~~~~~~~~~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:480:5: note: here
     case 3:     pixel_copy_increment;                                   \
     ^
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit.h:501:5: note: in expansion of macro ‘DUFFS_LOOP8’
     DUFFS_LOOP8(pixel_copy_increment, width)
     ^~~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2111:13: note: in expansion of macro ‘DUFFS_LOOP’
             DUFFS_LOOP(
             ^~~~~~~~~~
/home/mgerhardy/dev/engine/contrib/libs/sdl2/src/video/SDL_blit_N.c:2115:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
Comment 3 Sam Lantinga 2017-09-06 17:34:21 UTC
That's an intentional explicit fallthrough. Is there a way to tell the compiler that?
Comment 4 Ryan C. Gordon 2017-09-06 18:58:26 UTC
(In reply to Sam Lantinga from comment #3)
> That's an intentional explicit fallthrough. Is there a way to tell the
> compiler that?

case 0:
   whatever();
   __attribute__ ((fallthrough));  // tells gcc this is intentional.
case 1:
   something_else();
Comment 5 Ryan C. Gordon 2017-09-06 19:00:00 UTC
(In reply to Ryan C. Gordon from comment #4)
>    __attribute__ ((fallthrough));  // tells gcc this is intentional.

(and gcc only needs this for actual fallthrough: if there's a noreturn function like exit(), or it falls into a case with nothing but a break/return, etc, it knows not to warn.)

Details: https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/

--ryan.
Comment 6 Ozkan Sezer 2017-09-06 19:05:08 UTC
Something like the following at the offending places:

diff --git a/src/video/SDL_blit.h b/src/video/SDL_blit.h
--- a/src/video/SDL_blit.h
+++ b/src/video/SDL_blit.h
@@ -472,14 +472,14 @@
 #define DUFFS_LOOP8(pixel_copy_increment, width)                        \
 { int n = (width+7)/8;                                                  \
     switch (width & 7) {                                                \
-    case 0: do {    pixel_copy_increment;                               \
-    case 7:     pixel_copy_increment;                                   \
-    case 6:     pixel_copy_increment;                                   \
-    case 5:     pixel_copy_increment;                                   \
-    case 4:     pixel_copy_increment;                                   \
-    case 3:     pixel_copy_increment;                                   \
-    case 2:     pixel_copy_increment;                                   \
-    case 1:     pixel_copy_increment;                                   \
+    case 0: do {    pixel_copy_increment; /* fallthrough */             \
+    case 7:     pixel_copy_increment;     /* fallthrough */             \
+    case 6:     pixel_copy_increment;     /* fallthrough */             \
+    case 5:     pixel_copy_increment;     /* fallthrough */             \
+    case 4:     pixel_copy_increment;     /* fallthrough */             \
+    case 3:     pixel_copy_increment;     /* fallthrough */             \
+    case 2:     pixel_copy_increment;     /* fallthrough */             \
+    case 1:     pixel_copy_increment;     /* fallthrough */             \
         } while ( --n > 0 );                                            \
     }                                                                   \
 }

See https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
for -Wimplicit-fallthrough
Comment 7 Ryan C. Gordon 2017-09-06 19:17:56 UTC
(In reply to Ozkan Sezer from comment #6)
> /* fallthrough */

Whoa, there's a regular expression parser for comments here.  :O

--ryam.
Comment 8 Sam Lantinga 2017-09-06 19:29:35 UTC
Fixed, thanks!
https://hg.libsdl.org/SDL/rev/a09ca9e8938c

That comment trick is a neat one. :)