cmake: add -Wimplicit-fallthrough warning

main
Anonymous Maarten 2024-03-18 17:56:22 +01:00 committed by Anonymous Maarten
parent 086a7a4687
commit f59dbf6a12
10 changed files with 22 additions and 6 deletions

View File

@ -105,6 +105,11 @@ function(SDL_AddCommonCompilerFlags TARGET)
if(HAVE_GCC_WUNUSED_LOCAL_TYPEDEFS) if(HAVE_GCC_WUNUSED_LOCAL_TYPEDEFS)
sdl_target_compile_option_all_languages(${TARGET} "-Wno-unused-local-typedefs") sdl_target_compile_option_all_languages(${TARGET} "-Wno-unused-local-typedefs")
endif() endif()
check_c_compiler_flag(-Wimplicit-fallthrough HAVE_GCC_WIMPLICIT_FALLTHROUGH)
if(HAVE_GCC_WIMPLICIT_FALLTHROUGH)
sdl_target_compile_option_all_languages(${TARGET} "-Wimplicit-fallthrough")
endif()
endif() endif()
if(SDL_WERROR) if(SDL_WERROR)

View File

@ -542,6 +542,7 @@ void SDL_EVDEV_kbd_keycode(SDL_EVDEV_keyboard_state *kbd, unsigned int keycode,
if (down == 0) { if (down == 0) {
chg_vc_kbd_led(kbd, ALKED); chg_vc_kbd_led(kbd, ALKED);
} }
SDL_FALLTHROUGH;
case LSH: /* left shift */ case LSH: /* left shift */
case RSH: /* right shift */ case RSH: /* right shift */
k_shift(kbd, 0, down == 0); k_shift(kbd, 0, down == 0);
@ -551,6 +552,7 @@ void SDL_EVDEV_kbd_keycode(SDL_EVDEV_keyboard_state *kbd, unsigned int keycode,
if (down == 0) { if (down == 0) {
chg_vc_kbd_led(kbd, ALKED); chg_vc_kbd_led(kbd, ALKED);
} }
SDL_FALLTHROUGH;
case LCTR: /* left ctrl */ case LCTR: /* left ctrl */
case RCTR: /* right ctrl */ case RCTR: /* right ctrl */
k_shift(kbd, 1, down == 0); k_shift(kbd, 1, down == 0);
@ -560,6 +562,7 @@ void SDL_EVDEV_kbd_keycode(SDL_EVDEV_keyboard_state *kbd, unsigned int keycode,
if (down == 0) { if (down == 0) {
chg_vc_kbd_led(kbd, ALKED); chg_vc_kbd_led(kbd, ALKED);
} }
SDL_FALLTHROUGH;
case LALT: /* left alt */ case LALT: /* left alt */
case RALT: /* right alt */ case RALT: /* right alt */
k_shift(kbd, 2, down == 0); k_shift(kbd, 2, down == 0);

View File

@ -573,6 +573,7 @@ int SDL_SendPenMotion(Uint64 timestamp,
event.motion.yrel = last_y - y; event.motion.yrel = last_y - y;
return (SDL_PushEvent(&event) > 0) || posted; return (SDL_PushEvent(&event) > 0) || posted;
} }
break;
default: default:
break; break;

View File

@ -2005,6 +2005,7 @@ static void HandleInputEvents(SDL_Joystick *joystick)
default: default:
break; break;
} }
break;
default: default:
break; break;
} }
@ -2095,6 +2096,7 @@ static void HandleInputEvents(SDL_Joystick *joystick)
default: default:
break; break;
} }
break;
default: default:
break; break;
} }

View File

@ -404,6 +404,7 @@ void VITA_ImeEventHandler(void *arg, const SceImeEventData *e)
break; break;
case SCE_IME_EVENT_PRESS_ENTER: case SCE_IME_EVENT_PRESS_ENTER:
SDL_SendKeyboardKeyAutoRelease(0, SDL_SCANCODE_RETURN); SDL_SendKeyboardKeyAutoRelease(0, SDL_SCANCODE_RETURN);
break;
case SCE_IME_EVENT_PRESS_CLOSE: case SCE_IME_EVENT_PRESS_CLOSE:
sceImeClose(); sceImeClose();
videodata->ime_active = SDL_FALSE; videodata->ime_active = SDL_FALSE;

View File

@ -188,6 +188,7 @@ static int audio_initOpenCloseQuitAudio(void *arg)
desired.freq = 22050; desired.freq = 22050;
desired.format = SDL_AUDIO_S16; desired.format = SDL_AUDIO_S16;
desired.channels = 2; desired.channels = 2;
break;
case 1: case 1:
/* Set custom desired spec */ /* Set custom desired spec */

View File

@ -1383,7 +1383,7 @@ pen_movementAndAxes(void *arg)
case SIMPEN_ACTION_PRESS: case SIMPEN_ACTION_PRESS:
SDLTest_AssertCheck(event.type == SDL_EVENT_PEN_BUTTON_DOWN, "Expected PENBUTTONDOWN event (but got 0x%lx)", (unsigned long) event.type); SDLTest_AssertCheck(event.type == SDL_EVENT_PEN_BUTTON_DOWN, "Expected PENBUTTONDOWN event (but got 0x%lx)", (unsigned long) event.type);
SDLTest_AssertCheck(event.pbutton.state == SDL_PRESSED, "Expected PRESSED button"); SDLTest_AssertCheck(event.pbutton.state == SDL_PRESSED, "Expected PRESSED button");
/* Fall through */ SDL_FALLTHROUGH;
case SIMPEN_ACTION_RELEASE: case SIMPEN_ACTION_RELEASE:
if (last_action->type == SIMPEN_ACTION_RELEASE) { if (last_action->type == SIMPEN_ACTION_RELEASE) {
SDLTest_AssertCheck(event.type == SDL_EVENT_PEN_BUTTON_UP, "Expected PENBUTTONUP event (but got 0x%lx)", (unsigned long) event.type); SDLTest_AssertCheck(event.type == SDL_EVENT_PEN_BUTTON_UP, "Expected PENBUTTONUP event (but got 0x%lx)", (unsigned long) event.type);
@ -1401,7 +1401,7 @@ pen_movementAndAxes(void *arg)
case SIMPEN_ACTION_DOWN: case SIMPEN_ACTION_DOWN:
SDLTest_AssertCheck(event.type == SDL_EVENT_PEN_DOWN, "Expected PENBUTTONDOWN event (but got 0x%lx)", (unsigned long) event.type); SDLTest_AssertCheck(event.type == SDL_EVENT_PEN_DOWN, "Expected PENBUTTONDOWN event (but got 0x%lx)", (unsigned long) event.type);
SDLTest_AssertCheck(event.ptip.state == SDL_PRESSED, "Expected PRESSED button"); SDLTest_AssertCheck(event.ptip.state == SDL_PRESSED, "Expected PRESSED button");
/* Fall through */ SDL_FALLTHROUGH;
case SIMPEN_ACTION_UP: case SIMPEN_ACTION_UP:
if (last_action->type == SIMPEN_ACTION_UP) { if (last_action->type == SIMPEN_ACTION_UP) {
SDLTest_AssertCheck(event.type == SDL_EVENT_PEN_UP, "Expected PENBUTTONUP event (but got 0x%lx)", (unsigned long) event.type); SDLTest_AssertCheck(event.type == SDL_EVENT_PEN_UP, "Expected PENBUTTONUP event (but got 0x%lx)", (unsigned long) event.type);

View File

@ -508,6 +508,7 @@ static void loop(void)
switch (event.key.keysym.sym) { switch (event.key.keysym.sym) {
case SDLK_ESCAPE: case SDLK_ESCAPE:
done = 1; done = 1;
break;
case SDLK_SPACE: case SDLK_SPACE:
case SDLK_RIGHT: case SDLK_RIGHT:
NextStage(); NextStage();

View File

@ -282,6 +282,7 @@ static void loop(void)
if (event.key.keysym.sym != SDLK_ESCAPE) { if (event.key.keysym.sym != SDLK_ESCAPE) {
break; break;
} }
break;
default: default:
break; break;
} }

View File

@ -65,7 +65,7 @@ get_channel_name(int channel_index, int channel_count)
case 8: case 8:
return "Back Left"; return "Back Left";
} }
SDL_assert(0); break;
case 5: case 5:
switch (channel_count) { switch (channel_count) {
case 6: case 6:
@ -75,7 +75,7 @@ get_channel_name(int channel_index, int channel_count)
case 8: case 8:
return "Back Right"; return "Back Right";
} }
SDL_assert(0); break;
case 6: case 6:
switch (channel_count) { switch (channel_count) {
case 7: case 7:
@ -83,11 +83,12 @@ get_channel_name(int channel_index, int channel_count)
case 8: case 8:
return "Side Left"; return "Side Left";
} }
SDL_assert(0); break;
case 7: case 7:
return "Side Right"; return "Side Right";
} }
SDLTest_AssertCheck(SDL_FALSE, "Invalid channel_index for channel_count: channel_count=%d channel_index=%d", channel_count, channel_index);
SDL_assert(0);
return NULL; return NULL;
} }