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)

Reply via email to