gallium: Bring latest fixes.

This commit is contained in:
José Fonseca 2008-02-07 01:07:49 +09:00 committed by Ben Skeggs
parent 560416b263
commit bf3101afdc
2 changed files with 19 additions and 6 deletions

View file

@ -38,6 +38,10 @@
#ifndef P_DEBUG_H_
#define P_DEBUG_H_
#include <stdarg.h>
#ifdef __cplusplus
extern "C" {
#endif
@ -55,8 +59,12 @@ extern "C" {
void debug_printf(const char *format, ...);
void debug_vprintf(const char *format, va_list ap);
void debug_assert_fail(const char *expr, const char *file, unsigned line);
/** Assert macro */
#ifdef DEBUG
#define debug_assert(expr) ((expr) ? (void)0 : debug_assert_fail(#expr, __FILE__, __LINE__))
@ -66,7 +74,6 @@ void debug_assert_fail(const char *expr, const char *file, unsigned line);
#ifdef assert
#warning Standard C Library assert macro usage detected.
#undef assert
#endif
#define assert(expr) debug_assert(expr)

View file

@ -40,16 +40,22 @@
#include "pipe/p_compiler.h"
void debug_printf(const char *format, ...)
void debug_vprintf(const char *format, va_list ap)
{
va_list ap;
va_start( ap, format );
#ifdef WIN32
EngDebugPrint("Gallium3D: ", (PCHAR)format, ap);
#else
vfprintf(stderr, format, ap);
#endif
va_end( ap );
}
void debug_printf(const char *format, ...)
{
va_list ap;
va_start(ap, format);
debug_vprintf(format, ap);
va_end(ap);
}
@ -65,6 +71,6 @@ static INLINE void debug_abort(void)
void debug_assert_fail(const char *expr, const char *file, unsigned line)
{
debug_printf("%s:%i: Assertion `%s' failed.");
debug_printf("%s:%i: Assertion `%s' failed.\n", file, line, expr);
debug_abort();
}