From: Mathieu Desnoyers Date: Mon, 7 May 2012 15:10:52 +0000 (-0400) Subject: rculfhash: use do {} while (0) for dbg_printf() X-Git-Tag: v0.7.0~19 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=87fbf522618013b675cfd10863630506ad882ef7;p=urcu.git rculfhash: use do {} while (0) for dbg_printf() found by clang(make CC=clang). avoid empty statement. ------------------------- if (condition) dbg_printf() /* forget ";", but compiler say nothing if dbg_printf() is empty */ statement; ------------------------- also add printf format check. (we can use gcc extention "__printf(1, 2)" to declare a dummy inline function to do the check, but I use "printf()" directly here) Signed-off-by: Lai Jiangshan Signed-off-by: Mathieu Desnoyers --- diff --git a/rculfhash-internal.h b/rculfhash-internal.h index 284125a..d7cec95 100644 --- a/rculfhash-internal.h +++ b/rculfhash-internal.h @@ -25,11 +25,17 @@ */ #include +#include #ifdef DEBUG #define dbg_printf(fmt, args...) printf("[debug rculfhash] " fmt, ## args) #else -#define dbg_printf(fmt, args...) +#define dbg_printf(fmt, args...) \ +do { \ + /* do nothing but check printf format */ \ + if (0) \ + printf("[debug rculfhash] " fmt, ## args); \ +} while (0) #endif #if (CAA_BITS_PER_LONG == 32)