[sanitize] Make debug code always available to the compiler
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 29 Apr 2010 00:25:22 +0000 (20:25 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 29 Apr 2010 03:28:07 +0000 (23:28 -0400)
Such that we don't break debug build all the time.

src/hb-open-type-private.hh
src/hb-ot-layout-gsubgpos-private.hh

index f64526c..64acb1b 100644 (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 \
index 629be6c..979026d 100644 (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)
    */