Re: [PATCH] Clarify error on directive in macro arguments (Re:[PATCH] jffs2: fix sparse errors: directive in argument list)

From: Al Viro
Date: Sun Nov 17 2013 - 21:35:28 EST


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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/