Hi,
It seems to me that coccinelle doesn't know that the result of 'a -= b'
is the left operand, not the right, see this:
va...@albatros:~/src/test$ cat main.c
int
main(int argc, char **argv)
{
int x;
if ((x += (unsigned int)1) > 0)
;
}
va...@albatros:~/src/test$ cat main.cocci
@@
type T;
unsigned T x;
@@
* x > 0
va...@albatros:~/src/test$ spatch -sp_file main.cocci main.c
init_defs_builtins: /usr/share/coccinelle/standard.h
HANDLING: main.c
diff =
--- main.c 2010-08-29 16:13:04.000000000 +0400
+++ /tmp/cocci-output-21345-f4fecc-main.c 2010-08-29
16:14:07.000000000 +0400
@@ -9,6 +9,5 @@ main(int argc, char **argv)
{
int x;
- if ((x += (unsigned int)1) > 0)
;
}
Thanks,
Vasiliy.
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)