Commit | Line | Data |
---|---|---|
b1b2de81 C |
1 | // A variable is used between two affectations. |
2 | // | |
3 | // Confidence: High | |
4 | // Copyright: (C) Nicolas Palix, Julia Lawall, DIKU. GPLv2. | |
5 | // URL: | |
6 | // Options: -ifdef_to_if | |
7 | ||
8 | @filter@ | |
9 | local idexpression E; | |
10 | expression Er; | |
11 | @@ | |
12 | ||
13 | E = Er; | |
14 | ||
15 | @r @ | |
16 | local idexpression filter.E; | |
17 | position b; | |
18 | position e,f; | |
19 | expression E1; | |
20 | expression E2; | |
21 | @@ | |
22 | ||
23 | E@b = E1; | |
24 | ... when != E | |
25 | when strict | |
26 | ( | |
27 | E@f = <+...E...+>; | |
28 | | | |
29 | E@e = E2; | |
30 | ) | |
31 | ||
32 | @script:python@ | |
33 | p1 << r.b; | |
34 | p2 << r.e; | |
35 | p3 << r.f; | |
36 | @@ | |
37 | ||
38 | cocci.include_match(False) | |
39 | ||
40 | @script:python@ | |
41 | p1 << r.b; | |
42 | p2 << r.e; | |
43 | @@ | |
44 | ||
45 | cocci.print_main("",p1) | |
46 | cocci.print_secs("",p2) |