On Tue, 18 Mar 2014, Joe Perches wrote:
But using "if (0)" prevents the no_printk from occurring at all so there would be no side-effects and the format & args would still be verified by the compiler.
I'd prefer this (for symmetry and clarity): #if NDEBUG #define dprintk(flg, fmt, ...) \ do { if ((NDEBUG) & (flg)) pr_debug(fmt, ## __VA_ARGS__); } while (0) #else #define dprintk(flg, fmt, ...) \ do { if (0) pr_debug(fmt, ## __VA_ARGS__); } while (0) #endif But you seem to be asking for this instead: #if NDEBUG #define dprintk(flg, fmt, ...) \ do { if ((NDEBUG) & (flg)) pr_debug(fmt, ## __VA_ARGS__); } while (0) #else #define dprintk(flg, fmt, ...) \ do { if (0) no_printk(fmt, ## __VA_ARGS__); } while (0) #endif Why is that better? -- -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html