Messages in this thread | | | Date | Wed, 19 Mar 2014 12:46:16 +1100 (EST) | From | Finn Thain <> | Subject | Re: [PATCH 00/12] scsi/NCR5380: fix debugging macros and #include structure |
| |
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?
--
| |