[sanitize] Make debug code always available to the compiler Such that we don't break debug build all the time.
diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh index f64526c..64acb1b 100644 --- a/src/hb-open-type-private.hh +++ b/src/hb-open-type-private.hh
@@ -121,27 +121,36 @@ */ #ifndef HB_DEBUG_SANITIZE -#define HB_DEBUG_SANITIZE HB_DEBUG +#define HB_DEBUG_SANITIZE HB_DEBUG+0 #endif +static HB_GNUC_UNUSED inline hb_bool_t /* always returns TRUE */ +_hb_trace (const char *what, + const char *function, + void *obj, + unsigned int depth, + unsigned int max_depth) +{ + if (depth < max_depth) + fprintf (stderr, "%s(%p) %-*d-> %s\n", + what, + (obj == CharP(&_NullPool)) ? 0 : obj, + depth, depth, + function); + return TRUE; +} + + #if HB_DEBUG_SANITIZE -#include <stdio.h> +#define TRACE_SANITIZE() _hb_trace ("SANITIZE", __PRETTY_FUNCTION__, this, sanitize_depth, HB_DEBUG_SANITIZE) #define TRACE_SANITIZE_ARG_DEF , unsigned int sanitize_depth HB_GNUC_UNUSED #define TRACE_SANITIZE_ARG , sanitize_depth + 1 #define TRACE_SANITIZE_ARG_INIT , 1 -#define TRACE_SANITIZE() \ - HB_STMT_START { \ - if (sanitize_depth < HB_DEBUG_SANITIZE) \ - fprintf (stderr, "SANITIZE(%p) %-*d-> %s\n", \ - (CharP(this) == CharP(&_NullPool)) ? 0 : this, \ - sanitize_depth, sanitize_depth, \ - __PRETTY_FUNCTION__); \ - } HB_STMT_END #else +#define TRACE_SANITIZE() _hb_trace ("SANITIZE", __PRETTY_FUNCTION__, this, 0, HB_DEBUG_SANITIZE) #define TRACE_SANITIZE_ARG_DEF #define TRACE_SANITIZE_ARG #define TRACE_SANITIZE_ARG_INIT -#define TRACE_SANITIZE() HB_STMT_START {} HB_STMT_END #endif #define SANITIZE_ARG_DEF \