to be
@@
identifier pass_through.function;
expression result;
type cast;
@@
(
*function
(...)
|
*result =
(cast) function(...)
)
Your problem is that your example contains eg a(b(x)) and function matches both
a and b. Since the match for a causes it to tag both a and a's argument list,
then the match on b causes an already tagged token error, on the tokens of b(x).
Thanks for your explanation.
I find it interesting that such a SmPL ambiguity can be resolved with the
addition of extra line breaks in the source code filter pattern.
Regards,
Markus
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)