[sanitize] Make debug code always available to the compiler

Such that we don't break debug build all the time.
This commit is contained in:
Behdad Esfahbod 2010-04-28 20:25:22 -04:00
parent 74e313c016
commit 807c5b03a2
2 changed files with 21 additions and 12 deletions

View File

@ -121,27 +121,36 @@ ASSERT_STATIC (sizeof (Type) + 1 <= sizeof (_Null##Type))
*/
#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 \

View File

@ -40,7 +40,7 @@ _hb_trace_apply (const char *obj,
unsigned int apply_depth,
const char *function)
{
/* The following check is written in such a skewer way just
/* The following check is written in such a skewed way just
* to quiet compiler warning. The simple version would have been:
* if (apply_depth < HB_DEBUG_APPLY)
*/