Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
[pandora-kernel.git] / scripts / coccinelle / tests / doubletest.cocci
1 /// Find &&/|| operations that include the same argument more than once
2 //# A common source of false positives is when the argument performs a side
3 //# effect.
4 ///
5 // Confidence: Moderate
6 // Copyright: (C) 2010 Nicolas Palix, DIKU.  GPLv2.
7 // Copyright: (C) 2010 Julia Lawall, DIKU.  GPLv2.
8 // Copyright: (C) 2010 Gilles Muller, INRIA/LiP6.  GPLv2.
9 // URL: http://coccinelle.lip6.fr/
10 // Comments:
11 // Options: -no_includes -include_headers
12
13 virtual context
14 virtual org
15 virtual report
16
17 @r expression@
18 expression E;
19 position p;
20 @@
21
22 (
23 * E@p
24   || ... || E
25 |
26 * E@p
27   && ... && E
28 )
29
30 @script:python depends on org@
31 p << r.p;
32 @@
33
34 cocci.print_main("duplicated argument to && or ||",p)
35
36 @script:python depends on report@
37 p << r.p;
38 @@
39
40 coccilib.report.print_report(p[0],"duplicated argument to && or ||")