gallium: Use hardcoded breakpoints on x86 targets.

This commit is contained in:
José Fonseca
2008-03-10 21:18:00 +00:00
parent 34497eabc8
commit 3102268154

View File

@@ -81,14 +81,17 @@ void debug_printf(const char *format, ...)
} }
static INLINE void debug_abort(void) /* TODO: implement a debug_abort that calls EngBugCheckEx on WIN32 */
static INLINE void debug_break(void)
{ {
#ifdef WIN32 #if (defined(__i386__) || defined(__386__)) && defined(__GNUC__)
#ifndef WINCE __asm("int3");
EngDebugBreak(); #elif (defined(__i386__) || defined(__386__)) && defined(__MSC__)
#else
_asm {int 3}; _asm {int 3};
#endif #elif defined(WIN32) && !defined(WINCE)
EngDebugBreak();
#else #else
abort(); abort();
#endif #endif
@@ -98,5 +101,5 @@ static INLINE void debug_abort(void)
void debug_assert_fail(const char *expr, const char *file, unsigned line) void debug_assert_fail(const char *expr, const char *file, unsigned line)
{ {
debug_printf("%s:%i: Assertion `%s' failed.\n", file, line, expr); debug_printf("%s:%i: Assertion `%s' failed.\n", file, line, expr);
debug_abort(); debug_break();
} }