Re: Possible code defects: macros and precedence
From: Joe Perches
Date: Tue Sep 20 2016 - 13:07:40 EST
On Tue, 2016-09-20 at 15:14 +0200, Julia Lawall wrote:
> The semantic patch below finds a binary operator in a macro and a binary
> operator in the use of the macro, and checks if the priority of the
> operator in the macro is higher (lower number) than the priority of the
> operator in the use. If this is the case, it adds parentheses in the use,
> which is not what one wants, but serves to show where the problem is
Thanks, this works on the trivial example I suggested
without an #include
I've tried it on trivial files with --recursive-includes
and it seems to work there too.
I'll investigate some more convoluted uses later.
btw: There are ~15K checkpatch MACRO_ARG_PRECEDENCE
messages in the -next kernel tree. That's probably
too many for a theoretical and likely not an actual
problem.
cheers, Joe