#define ADDR_DBG_BREAK()    { __debugbreak(); }
     #endif
 #else
-    #define ADDR_DBG_BREAK()
+    #define ADDR_DBG_BREAK() do {} while(0)
 #endif
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 #define ADDRDPF 1 ? (void)0 : (void)
 
-#define ADDR_PRNT(a)
+#define ADDR_PRNT(a) do {} while(0)
 
-#define ADDR_DBG_BREAK()
+#define ADDR_DBG_BREAK() do {} while(0)
 
-#define ADDR_INFO(cond, a)
+#define ADDR_INFO(cond, a) do {} while(0)
 
-#define ADDR_WARN(cond, a)
+#define ADDR_WARN(cond, a) do {} while(0)
 
-#define ADDR_EXIT(cond, a)
+#define ADDR_EXIT(cond, a) do {} while(0)
 
 #endif // DEBUG
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 #ifndef NDEBUG
 void perfwarn(bool cond, const char *msg, Instruction *instr=NULL);
 #else
-#define perfwarn(program, cond, msg, ...)
+#define perfwarn(program, cond, msg, ...) do {} while(0)
 #endif
 
 void aco_print_instr(Instruction *instr, FILE *output);
 
                                fprintf(stderr, "%s:%d ASSERT: %s\n", __FILE__, __LINE__, #x); \
                })
 #else
-#define radv_assert(x)
+#define radv_assert(x) do {} while(0)
 #endif
 
 #define stub_return(v)                                 \