Re: [Cocci] Q: does spatch understand typeof?
On Wed, 15 Jan 2020, Oleg Nesterov wrote: > On 01/15, Julia Lawall wrote: > > > > On Wed, 15 Jan 2020, Oleg Nesterov wrote: > > > > > $ spatch --sp-file test.cocci test.c > > > > > > (ONCE) Expected tokens mem TTT > > > Skipping: test.c > > > > > > I tried to play with various --.*include.* options, but nothing seems to > > > work > > > unless I add "inc.h" to the command line explicitly. > > > > The problem is that the file filtering happens before the parsing, and it > > is the parsing that finds the includes. > > Yes, thanks, this was clear to me, > > > You can disable the file > > filtering with --disable-worth-trying-opt. > > Heh. I swear, I even did > > $ spatch --longhelp 2>&1 | grep disable > > but apparently I can't read. The name is not super intuitive, and is more tied to the code than the user intuition. I spent some time searching for -no- and for something about files. julia ___ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
Re: [Cocci] Q: does spatch understand typeof?
On 01/15, Julia Lawall wrote: > > On Wed, 15 Jan 2020, Oleg Nesterov wrote: > > > $ spatch --sp-file test.cocci test.c > > > > (ONCE) Expected tokens mem TTT > > Skipping: test.c > > > > I tried to play with various --.*include.* options, but nothing seems to > > work > > unless I add "inc.h" to the command line explicitly. > > The problem is that the file filtering happens before the parsing, and it > is the parsing that finds the includes. Yes, thanks, this was clear to me, > You can disable the file > filtering with --disable-worth-trying-opt. Heh. I swear, I even did $ spatch --longhelp 2>&1 | grep disable but apparently I can't read. Thanks a lot! Oleg. ___ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
Re: [Cocci] Q: does spatch understand typeof?
On Wed, 15 Jan 2020, Oleg Nesterov wrote: > On 01/15, Oleg Nesterov wrote: > > > > Another question... > > Oh, and another one ;) > > http://coccinelle.lip6.fr/docs/main_grammar006.html mentions > "typeof(expr/ctype)", but I failed to find any doc/example of > how can it be used in SPL. > > Could you explain it? @@ @@ - typeof(foo) x; That is, you can match against the above code. But there is no evaluation of what typeof(foo) actually means. julia ___ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
Re: [Cocci] Q: does spatch understand typeof?
On 01/15, Oleg Nesterov wrote: > > Another question... Oh, and another one ;) http://coccinelle.lip6.fr/docs/main_grammar006.html mentions "typeof(expr/ctype)", but I failed to find any doc/example of how can it be used in SPL. Could you explain it? Oleg. ___ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
Re: [Cocci] Q: does spatch understand typeof?
On Wed, 15 Jan 2020, Oleg Nesterov wrote: > On 01/15, Julia Lawall wrote: > > > > Yes, it doesn't currently understand typeof. If it's a big problem, it > > should be easy to fix. > > OK, thanks Julia. > > Another question... > > inc.h: > > struct TTT { int mem; } *ptr; > > test.c: > > #include "inc.h" > > void func(void) > { > ptr->mem = 0; > } > > test.cocci: > > @r@ > struct TTT *p; > @@ > > * p->mem > > $ spatch --sp-file test.cocci test.c > > (ONCE) Expected tokens mem TTT > Skipping: test.c > > I tried to play with various --.*include.* options, but nothing seems to work > unless I add "inc.h" to the command line explicitly. The problem is that the file filtering happens before the parsing, and it is the parsing that finds the includes. You can disable the file filtering with --disable-worth-trying-opt. julia ___ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
Re: [Cocci] Q: does spatch understand typeof?
On 01/15, Julia Lawall wrote: > > Yes, it doesn't currently understand typeof. If it's a big problem, it > should be easy to fix. OK, thanks Julia. Another question... inc.h: struct TTT { int mem; } *ptr; test.c: #include "inc.h" void func(void) { ptr->mem = 0; } test.cocci: @r@ struct TTT *p; @@ * p->mem $ spatch --sp-file test.cocci test.c (ONCE) Expected tokens mem TTT Skipping: test.c I tried to play with various --.*include.* options, but nothing seems to work unless I add "inc.h" to the command line explicitly. Oleg. ___ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
Re: [Cocci] Q: does spatch understand typeof?
On Wed, 15 Jan 2020, Oleg Nesterov wrote: > Hello, > > trivial example: > > @r@ > int x; > @@ > > * x = 0; > > C code: > > void f(void) > { > int a; > __typeof__(a) b; > > a = 0; // this matches > b = 0; // this doesn't > } > > is it correct? Yes, it doesn't currently understand typeof. If it's a big problem, it should be easy to fix. julia ___ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci