On Mon, 8 Aug 2011, Lucas De Marchi wrote: > On Mon, Aug 8, 2011 at 12:09 PM, Julia Lawall <[email protected]> wrote: > > On Mon, 8 Aug 2011, Lucas De Marchi wrote: > > > >> Hi Julia > >> > >> On Mon, Aug 8, 2011 at 11:55 AM, Julia Lawall <[email protected]> wrote: > >> > On Mon, 8 Aug 2011, Lucas De Marchi wrote: > >> > > >> >> Is there a cocci script to find the use of VLAs? > >> > > >> > What is a VLA? > >> > >> Variable length array. I used the following script, but it doesn't > >> detect all the cases. What I need is to detect whether the size of the > >> array is discovered by the compiler at compile time or at run time. > >> > >> > >> @r1@ > >> constant c1, c2, c3, c4; > >> expression e; > >> type x; > >> identifier x1; > >> @@ > >> ( > >> x x1[c1]; > >> | > >> x x1[c1 + c2]; > >> | > >> x x1[c1 + c2 + c3]; > >> | > >> x x1[c1 + c2 + c3 + c4]; > >> | > >> * x x1[e]; > >> ) > > > > Maybe the following: > > Yeah, this seems to work, but see the comment below. > > > @r@ > > type t; > > identifier x,i; > > position p; > > @@ > > > > t x[<+...i@p...+>] > > Coccinelle complains here. If I put a semicolon here then all is fine.
Oops, sorry. A declaration is a statement, so it always needs a semicolon. julia > > @s@ > > position r.p; > > constant c; > > type t; > > identifier x; > > @@ > > > > t x[<+...c@p...+>] > > and here > > > > > @depends on !s@ > > position r.p; > > type t; > > identifier x,i; > > @@ > > > > *t x[<+...i@p...+>] > > here too > > thanks > Lucas De Marchi >
_______________________________________________ Cocci mailing list [email protected] http://lists.diku.dk/mailman/listinfo/cocci (Web access from inside DIKUs LAN only)
