[PATCH] Clarify error on directive in macro arguments (Re: [PATCH] jffs2: fix sparse errors: directive in argument list)
Al Viro
viro at ZenIV.linux.org.uk
Sun Nov 17 21:34:43 EST 2013
On Sun, Nov 17, 2013 at 06:15:32PM -0800, Joe Perches wrote:
> > > sparse matches gcc behaviour (I hope), but it warns about such abuses.
> > > It's a defect, all right - one being reported by sparse.
> >
> > Perhaps the following tweak to the error message would make this
> > subtlety clearer?
>
> Maybe, but this case isn't a macro. It's a function.
> Dunno if differentiating when it's a macro or a
> function is difficult though.
In which case? With printk() it's perfectly fine and sparse
will not complain at all. With pr_info(), OTOH, we have
#define pr_info(fmt, ...) \
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
and when you start playing that kind of games with it, you get warnings.
More information about the linux-mtd
mailing list