On Thu, Nov 04, 2010 at 16:39 +0100, Julia Lawall wrote:
> On Thu, 4 Nov 2010, Vasiliy Kulikov wrote:
>
> > Hi,
> >
> > Is there any way to search for C99 array definition with non-constant
> > size?
> >
> > int x = 2;
> > ...
> > int y[x];
>
> I'm not sure what you are asking here. I tried the following, and it
> worked fine:
Ah, sorry :) I wanted to ask how to differ good old [const] and C99
[non-const] arrays.
Basically, I was just confused with formulating the correct spatch script ;)
Now I got this version:
@@
type T, TT;
identifier a;
constant TT s;
expression E;
@@
T
a[ \( s \|
*E
\) ] ;
--
IMO it should catch all C99 arrays, correct?
Also, I see that const + const is not const:
--- main.c 2010-11-04 18:56:47.000000000 +0300
+++ /tmp/cocci-output-16224-75f1fa-main.c 2010-11-04 18:59:01.000000000
+0300
@@ -11,7 +11,5 @@ main(int argc, char **argv)
{
int s = 2;
int a[sizeof(int)];
- int b[s];
- int c[1+1];
return 0;
}
Obviously 1+1 is constant :)
Thank you,
--
Vasiliy
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)