Coccinelle does type inference, including the return types of functions 
when the return types are available.  The simple solution is thus just:

@@
type T;
T x;
identifier f;
void v;
@@

(
f(...)@v;
|
*f(...)@x;
)

This would need to be run with arguments like --recursive-includes, to 
include files included from other include files, --relax-include-path, to 
find uniquely named include files even when they are not in the provided 
include path, and --include-headers-for-types, to improve performance only 
collecting type information from the include files.

julia
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to