diff --git a/src/SDL_assert.c b/src/SDL_assert.c index 6282015af..7d6534e31 100644 --- a/src/SDL_assert.c +++ b/src/SDL_assert.c @@ -123,14 +123,16 @@ static void SDL_GenerateAssertionReport(void) #if defined(__WATCOMC__) #pragma aux SDL_ExitProcess aborts; #endif -static void SDL_ExitProcess(int exitcode) +static SDL_NORETURN void SDL_ExitProcess(int exitcode) { #ifdef __WIN32__ /* "if you do not know the state of all threads in your process, it is better to call TerminateProcess than ExitProcess" https://msdn.microsoft.com/en-us/library/windows/desktop/ms682658(v=vs.85).aspx */ TerminateProcess(GetCurrentProcess(), exitcode); - + /* MingW doesn't have TerminateProcess marked as noreturn, so add an + ExitProcess here that will never be reached but make MingW happy. */ + ExitProcess(exitcode); #elif defined(__EMSCRIPTEN__) emscripten_cancel_main_loop(); /* this should "kill" the app. */ emscripten_force_exit(exitcode); /* this should "kill" the app. */