[PATCH 00/12] scsi/NCR5380: fix debugging macros and #include structure

Geert Uytterhoeven
2014-03-18T13:13:53Z

Hi Joe,

On Tue, Mar 18, 2014 at 2:07 PM, Joe Perches <joe@perches.com> wrote:
> On Tue, 2014-03-18 at 13:55 +0100, Geert Uytterhoeven wrote:
>> On Tue, Mar 18, 2014 at 1:45 PM, Joe Perches <joe@perches.com> wrote:
>> > #define dprintk(flg, fmt, ...) \
>> > do { if (0) pr_debug(fmt, ##__VA_ARGS__); } while (0)
>>
>> Na, no_printk():
>>
>> #define dprintk(flg, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
>
> Fine, but with a correction.
>
> no_printk keeps all side effects like
> performing any function calls made by the
> statement or accessing any volatiles.

That's true...

> Using
>
> do { if (0) no_printk(fmt, ##__VA_ARGS__); } while (0)
>
> does not have any side-effects.

... but all current users in include/ have the side-effects.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds