On Tue, Aug 30, 2022 at 11:12:24PM +0200, Johannes Schindelin wrote: > On Tue, 30 Aug 2022, Phillip Wood wrote: > > > I wonder if they would be interested in fixing the parsing bug we found > > with Peff's UNUSED() series. > > Could you point me to the relevant mail? I am sure that I can come up with > an MCVE that will help them pinpoint the bug and fix it as quickly as they > did with this here bug. It's the sub-thread starting here: https://lore.kernel.org/git/220825.86ilmg4mil.gmgdl@xxxxxxxxxxxxxxxxxxx/ I tried to put together a minimal example, which would be something like: $ cat foo.c void old_function(int); void new_function(int); #if defined(__GNUC__) #define UNUSED(var) UNUSED_##var __attribute__((unused)) #else #define UNUSED(var) UNUSED_##var #endif void foo(int UNUSED(bar), int x) { old_function(x); } $ cat foo.cocci @@ expression E; @@ -old_function(E) +new_function(E) but to my frustration, it actually works! If you add --verbose-parsing to the spatch command, you can see it complaining about some of the parsing. And it produces wrong outputs in the real-world with our actual unused.cocci file. I suspect the example semantic patch might just need to be a little more complicated. -Peff