On Wed, 2014-03-19 at 12:46 +1100, Finn Thain wrote:
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?
It's not to me.
I suggested exactly your first block with if (0) pr_debug...
in the first thing I wrote.
https://lkml.org/lkml/2014/3/18/216
Geert suggested no_printk.
cheers, Joe
--
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