chiark / gitweb /
further horrid memory debugging stuff
[disorder] / disobedience / disobedience.h
index 3998124d1b044a227064e7f9c99d8ad837797d18..21d589dac74d1a4b5878e30a55e5198c969277f3 100644 (file)
@@ -180,11 +180,22 @@ void choose_update(void);
 #define WT(what) static int current##what, max##what
 #define DW(what) (--current##what)
 #else
-#define NW(what) (0)
-#define DW(what) (0)
+#define NW(what) do { } while(0)
+#define DW(what) do { } while(0)
 #define WT(what) struct neverused
 #endif
 
+#if MTRACK
+extern const char *mtag;
+#define MTAG(x) do { mtag = x; } while(0)
+#define MTAG_PUSH(x) do { const char *save_mtag = mtag; mtag = x; (void)0
+#define MTAG_POP() mtag = save_mtag; } while(0)
+#else
+#define MTAG(x) do { } while(0)
+#define MTAG_PUSH(x) do {} while(0)
+#define MTAG_POP() do {} while(0)
+#endif
+
 #endif /* DISOBEDIENCE_H */
 
 /*