Hi spatchers,
I've been working on an old code base, and toying with something like
this:
@@
type T;
identifier x;
expression E, F;
@@
{
+T x;
+
E;
...
-T x;
...
}
(and also a variant with "T x = F;" where F is an expression).
That works OK if there's only a single variable, but...
First, it only moves a single variable up, even if I run it multiple
times (I think)?
Secondly, sometimes it says something like:
previous modification:
<<< T x;
CONTEXT
According to environment 2:
rule starting on line 15.x -> id var1
rule starting on line 15.T -> u32
current modification:
<<< T x;
CONTEXT
According to environment 2:
rule starting on line 15.x -> id var2
rule starting on line 15.T -> u32
EXN:Failure("rule starting on line 15: already tagged token:\nC code
context\nFile \"/tmp/cocci_small_output-170001-6edb7c.c\", line 150, column 4,
charpos = 8969\n around = 'DEBUG_PRINT', whole content =
DEBUG_PRINT(...omitted...);")
That's basically what I saw, something like
DEBUG_PRINT(...);
u32 var1 = ...;
u32 var2 = ...;
Any ideas how I can make it move more variable declarations up?
Thanks,
johannes
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci