include/SDL_assert.h
changeset 5011 d306007299ac
parent 3697 f7b03b6838cb
child 5086 c2539ff054c8
equal deleted inserted replaced
5010:377b7d9d24ee 5011:d306007299ac
    48 These are macros and not first class functions so that the debugger breaks
    48 These are macros and not first class functions so that the debugger breaks
    49 on the assertion line and not in some random guts of SDL, and so each
    49 on the assertion line and not in some random guts of SDL, and so each
    50 assert can have unique static variables associated with it.
    50 assert can have unique static variables associated with it.
    51 */
    51 */
    52 
    52 
    53 #if (defined(_MSC_VER) && ((_M_IX86) || (_M_X64)))
    53 #if defined(_MSC_VER)
    54     #define SDL_TriggerBreakpoint() __asm { int 3 }
    54 #include <intrin.h>
       
    55     #define SDL_TriggerBreakpoint() __debugbreak()
    55 #elif (defined(__GNUC__) && ((__i386__) || (__x86_64__)))
    56 #elif (defined(__GNUC__) && ((__i386__) || (__x86_64__)))
    56     #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
    57     #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
    57 #elif defined(HAVE_SIGNAL_H)
    58 #elif defined(HAVE_SIGNAL_H)
    58     #include <signal.h>
    59     #include <signal.h>
    59     #define SDL_TriggerBreakpoint() raise(SIGTRAP)
    60     #define SDL_TriggerBreakpoint() raise(SIGTRAP)