Merge tag 'v3.11-rc2' into patchwork
[deliverable/linux.git] / scripts / coccinelle / tests / doublebitand.cocci
1 /// Find bit operations that include the same argument more than once
2 //# One source of false positives is when the argument performs a side
3 //# effect. Another source of false positives is when a neutral value
4 //# such as 0 for | is used to indicate no information, to maintain the
5 //# same structure as other similar expressions
6 ///
7 // Confidence: Moderate
8 // Copyright: (C) 2010 Nicolas Palix, DIKU. GPLv2.
9 // Copyright: (C) 2010 Julia Lawall, DIKU. GPLv2.
10 // Copyright: (C) 2010 Gilles Muller, INRIA/LiP6. GPLv2.
11 // URL: http://coccinelle.lip6.fr/
12 // Comments:
13 // Options: --no-includes --include-headers
14
15 virtual context
16 virtual org
17 virtual report
18
19 @r expression@
20 expression E;
21 position p;
22 @@
23
24 (
25 * E@p
26 & ... & E
27 |
28 * E@p
29 | ... | E
30 |
31 * E@p
32 & ... & !E
33 |
34 * E@p
35 | ... | !E
36 |
37 * !E@p
38 & ... & E
39 |
40 * !E@p
41 | ... | E
42 )
43
44 @script:python depends on org@
45 p << r.p;
46 @@
47
48 cocci.print_main("duplicated argument to & or |",p)
49
50 @script:python depends on report@
51 p << r.p;
52 @@
53
54 coccilib.report.print_report(p[0],"duplicated argument to & or |")
This page took 0.047682 seconds and 5 git commands to generate.