aboutsummaryrefslogtreecommitdiff
path: root/lout/debug.hh
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-02-20 18:01:12 +0100
committerSebastian Geerken <devnull@localhost>2014-02-20 18:01:12 +0100
commit520edec82edee4e1baf4e2bdb646c98f9d2a3286 (patch)
treea9949dd798107d163b18ad10b336d51c684105f0 /lout/debug.hh
parentf899b9f7dbed1b38445899a491e57726f740db10 (diff)
RTFL subtleties, part 1.
Diffstat (limited to 'lout/debug.hh')
-rw-r--r--lout/debug.hh34
1 files changed, 31 insertions, 3 deletions
diff --git a/lout/debug.hh b/lout/debug.hh
index bf434e07..999a4a8b 100644
--- a/lout/debug.hh
+++ b/lout/debug.hh
@@ -40,6 +40,8 @@
#include <unistd.h>
#include <stdio.h>
+#define DBG_IF_RTFL if(1)
+
// "\n" at the beginning just in case that the previous line is not finished
// yet.
#define RTFL_PREFIX_FMT "\n[rtfl]%s:%d:%d:"
@@ -155,13 +157,20 @@
fflush (stdout); \
} D_STMT_END
-#define DBG_OBJ_SET_STR(var, val) \
+#define DBG_OBJ_SET_SYM(var, val) \
D_STMT_START { \
printf (RTFL_PREFIX_FMT "obj-set:%p:%s:%s\n", \
RTFL_PREFIX_ARGS, this, var, val); \
fflush (stdout); \
} D_STMT_END
+#define DBG_OBJ_SET_STR(var, val) \
+ D_STMT_START { \
+ printf (RTFL_PREFIX_FMT "obj-set:%p:%s:\"%s\"\n", \
+ RTFL_PREFIX_ARGS, this, var, val); \
+ fflush (stdout); \
+ } D_STMT_END
+
#define DBG_OBJ_SET_PTR(var, val) \
D_STMT_START { \
printf (RTFL_PREFIX_FMT "obj-set:%p:%s:%p\n", \
@@ -176,13 +185,20 @@
fflush (stdout); \
} D_STMT_END
-#define DBG_OBJ_ARRSET_STR(var, ind, val) \
+#define DBG_OBJ_ARRSET_SYM(var, ind, val) \
D_STMT_START { \
printf (RTFL_PREFIX_FMT "obj-set:%p:%s.%d:%s\n", \
RTFL_PREFIX_ARGS, this, var, ind, val); \
fflush (stdout); \
} D_STMT_END
+#define DBG_OBJ_ARRSET_STR(var, ind, val) \
+ D_STMT_START { \
+ printf (RTFL_PREFIX_FMT "obj-set:%p:%s.%d:\"%s\"\n", \
+ RTFL_PREFIX_ARGS, this, var, ind, val); \
+ fflush (stdout); \
+ } D_STMT_END
+
#define DBG_OBJ_ARRSET_PTR(var, ind, val) \
D_STMT_START { \
printf (RTFL_PREFIX_FMT "obj-set:%p:%s.%d:%p\n", \
@@ -197,13 +213,20 @@
fflush (stdout); \
} D_STMT_END
-#define DBG_OBJ_ARRATTRSET_STR(var, ind, attr, val) \
+#define DBG_OBJ_ARRATTRSET_SYM(var, ind, attr, val) \
D_STMT_START { \
printf (RTFL_PREFIX_FMT "obj-set:%p:%s.%d.%s:%s\n", \
RTFL_PREFIX_ARGS, this, var, ind, attr, val); \
fflush (stdout); \
} D_STMT_END
+#define DBG_OBJ_ARRATTRSET_STR(var, ind, attr, val) \
+ D_STMT_START { \
+ printf (RTFL_PREFIX_FMT "obj-set:%p:%s.%d.%s:\"%s\"\n", \
+ RTFL_PREFIX_ARGS, this, var, ind, attr, val); \
+ fflush (stdout); \
+ } D_STMT_END
+
#define DBG_OBJ_ARRATTRSET_PTR(var, ind, attr, val) \
D_STMT_START { \
printf (RTFL_PREFIX_FMT "obj-set:%p:%s.%d.%s:%p\n", \
@@ -220,6 +243,8 @@
#else /* DBG_RTFL */
+#define DBG_IF_RTFL if(0)
+
#define DBG_OBJ_MSG(aspect, prio, msg) D_STMT_NOP
#define DBG_OBJ_MSG_O(aspect, prio, obj, msg) D_STMT_NOP
#define DBG_OBJ_MSGF(aspect, prio, fmt, ...) D_STMT_NOP
@@ -235,12 +260,15 @@
#define DBG_OBJ_ASSOC(parent, child) D_STMT_NOP
#define DBG_OBJ_SET_NUM(var, val) D_STMT_NOP
#define DBG_OBJ_SET_NUM_O(obj, var, val) D_STMT_NOP
+#define DBG_OBJ_SET_SYM(var, val) D_STMT_NOP
#define DBG_OBJ_SET_STR(var, val) D_STMT_NOP
#define DBG_OBJ_SET_PTR(var, val) D_STMT_NOP
#define DBG_OBJ_ARRSET_NUM(var, ind, val) D_STMT_NOP
+#define DBG_OBJ_ARRSET_SYM(var, ind, val) D_STMT_NOP
#define DBG_OBJ_ARRSET_STR(var, ind, val) D_STMT_NOP
#define DBG_OBJ_ARRSET_PTR(var, ind, val) D_STMT_NOP
#define DBG_OBJ_ARRATTRSET_NUM(var, ind, attr, val) D_STMT_NOP
+#define DBG_OBJ_ARRATTRSET_SYM(var, ind, attr, val) D_STMT_NOP
#define DBG_OBJ_ARRATTRSET_STR(var, ind, attr, val) D_STMT_NOP
#define DBG_OBJ_ARRATTRSET_PTR(var, ind, attr, val) D_STMT_NOP
#define DBG_OBJ_COLOR(klass, color)