[Cocci] Matching function pointer typedef

Jerome Glisse jglisse at redhat.com
Tue May 15 22:36:07 CEST 2018


Hello,

I am trying to modify an function pointer typedef something like:

@@
@@
- typedef void (*toto_t)(int a, int b);
+ typedef void (*toto_t)(int a, int b, int c);

But it seems spatch or the semantic does not handle function pointer.
Or simply that typedef is not well handled in the first place. Thing
like:

@@
@@
- typedef int nombre;
+ typedef unsigned nombre;

also fails to work. But if typedef is use with struct then it works.
For instance:

@@
@@
- typedef struct {int a;} nombre;
+ typedef struct {unsigned a;} nombre;

Do work. Looking at declaration grammar i do not see why the former
does not work. I am using fedora 27 coccinelle 1.0.6 if that matters.

Is this a known limitation or am i writting it wrong ?

Thank you for any input on this,
Jérôme


More information about the Cocci mailing list