Messages in this thread | | | Subject | Re: [PATCH 00/12] scsi/NCR5380: fix debugging macros and #include structure | From | Joe Perches <> | Date | Tue, 18 Mar 2014 18:54:41 -0700 |
| |
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
| |