From 9e8a58f4483f6f19454a488d1c143fbabce1f127 Mon Sep 17 00:00:00 2001 From: Roman Fomin Date: Fri, 17 Oct 2025 13:34:59 +0700 Subject: [PATCH 1/2] Fix the "redundant redeclaration" warning for `__debugbreak` when using MinGW --- include/SDL3/SDL_assert.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/SDL3/SDL_assert.h b/include/SDL3/SDL_assert.h index 2ab796a1ae54e..bdd471420106e 100644 --- a/include/SDL3/SDL_assert.h +++ b/include/SDL3/SDL_assert.h @@ -126,10 +126,12 @@ extern "C" { */ #define SDL_TriggerBreakpoint() TriggerABreakpointInAPlatformSpecificManner -#elif defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER >= 1310) +#elif defined(_MSC_VER) && _MSC_VER >= 1310 /* Don't include intrin.h here because it contains C++ code */ extern void __cdecl __debugbreak(void); #define SDL_TriggerBreakpoint() __debugbreak() +#elif defined(__MINGW32__) && (SDL_HAS_BUILTIN(__debugbreak) || __MINGW_DEBUGBREAK_IMPL) + #define SDL_TriggerBreakpoint() __debugbreak() #elif defined(_MSC_VER) && defined(_M_IX86) #define SDL_TriggerBreakpoint() { _asm { int 0x03 } } #elif SDL_HAS_BUILTIN(__builtin_debugtrap) From ff9f245cf3e7cbf6716fec0e9c63dabe74161b02 Mon Sep 17 00:00:00 2001 From: Roman Fomin Date: Fri, 17 Oct 2025 16:09:52 +0700 Subject: [PATCH 2/2] Use intrin.h; it doesn't seem to have C++ code in MinGW --- include/SDL3/SDL_assert.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/SDL3/SDL_assert.h b/include/SDL3/SDL_assert.h index bdd471420106e..ba8104b1cad83 100644 --- a/include/SDL3/SDL_assert.h +++ b/include/SDL3/SDL_assert.h @@ -130,7 +130,8 @@ extern "C" { /* Don't include intrin.h here because it contains C++ code */ extern void __cdecl __debugbreak(void); #define SDL_TriggerBreakpoint() __debugbreak() -#elif defined(__MINGW32__) && (SDL_HAS_BUILTIN(__debugbreak) || __MINGW_DEBUGBREAK_IMPL) +#elif defined(__MINGW32__) + #include #define SDL_TriggerBreakpoint() __debugbreak() #elif defined(_MSC_VER) && defined(_M_IX86) #define SDL_TriggerBreakpoint() { _asm { int 0x03 } }