Release coccinelle-0.1
[bpt/coccinelle.git] / tests / fns.cocci
1 // we were using some minirules before where fn1 and fn2 were in same rule
2
3 // pad: il manque un E dans check_region dans rule3 car il a 2 args
4 // mais je sais pas si faut le propager dans request_region
5
6 @ rule1 @
7 expression req8_reg_arg2;
8 expression E;
9 identifier fn1;
10 @@
11
12 fn1(...) {
13 ...
14 for(...; ...; ...) {
15 ...
16 if (check_region(E, req8_reg_arg2))
17 { ... when = \( printk(...); \| dbg(...); \)
18 continue; }
19 ...
20 }
21 ...
22 }
23
24 @ rule2 depends on rule1 @
25 expression rule1.req8_reg_arg2;
26 expression req8_reg_arg1;
27 expression req8_reg_arg3;
28 identifier fn2;
29 @@
30
31 fn2(...) {
32 - request_region(req8_reg_arg1, req8_reg_arg2, req8_reg_arg3);
33 }
34
35 @ rule3 depends on rule1 @
36 expression rule1.req8_reg_arg2;
37 expression rule2.req8_reg_arg3;
38 statement S;
39 @@
40
41 - if (check_region(req8_reg_arg2)) S
42 + if (!request_region(req8_reg_arg2, req8_reg_arg3)) S