diff options
Diffstat (limited to 'linker/linker_debug.h')
-rw-r--r-- | linker/linker_debug.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/linker/linker_debug.h b/linker/linker_debug.h index 10ae7b1..fa2a1a1 100644 --- a/linker/linker_debug.h +++ b/linker/linker_debug.h @@ -27,15 +27,17 @@ #define TRUE 1 #define FALSE 0 + +#define __PRINTVF(v,f,x...) do { \ + (debug_verbosity > (v)) && (printf(x), ((f) && fflush(stdout))); \ + } while (0) /* Only use printf() during debugging. We have seen occasional memory * corruption when the linker uses printf(). */ #if LINKER_DEBUG extern int debug_verbosity; #warning "*** LINKER IS USING printf(); DO NOT CHECK THIS IN ***" -#define _PRINTVF(v,f,x...) do { \ - (debug_verbosity > (v)) && (printf(x), ((f) && fflush(stdout))); \ - } while (0) +#define _PRINTVF(v,f,x...) __PRINTVF(v,f,x) #else /* !LINKER_DEBUG */ #define _PRINTVF(v,f,x...) do {} while(0) #endif /* LINKER_DEBUG */ @@ -46,7 +48,7 @@ extern int debug_verbosity; #define WARN(fmt,args...) \ _PRINTVF(-1, TRUE, "%s:%d| WARNING: " fmt, __FILE__, __LINE__, ## args) #define ERROR(fmt,args...) \ - _PRINTVF(-1, TRUE, "%s:%d| ERROR: " fmt, __FILE__, __LINE__, ## args) + __PRINTVF(-1, TRUE, "%s:%d| ERROR: " fmt, __FILE__, __LINE__, ## args) #if TRACE_DEBUG #define DEBUG(x...) _PRINTVF(2, TRUE, "DEBUG: " x) |