Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / scripts / coccinelle / misc / boolreturn.cocci
1 /// Return statements in functions returning bool should use
2 /// true/false instead of 1/0.
3 //
4 // Confidence: High
5 // Options: --no-includes --include-headers
6
7 virtual patch
8 virtual report
9 virtual context
10
11 @r1 depends on patch@
12 identifier fn;
13 typedef bool;
14 symbol false;
15 symbol true;
16 @@
17
18 bool fn ( ... )
19 {
20 <...
21 return
22 (
23 - 0
24 + false
25 |
26 - 1
27 + true
28 )
29   ;
30 ...>
31 }
32
33 @r2 depends on report || context@
34 identifier fn;
35 position p;
36 @@
37
38 bool fn ( ... )
39 {
40 <...
41 return
42 (
43 * 0@p
44 |
45 * 1@p
46 )
47   ;
48 ...>
49 }
50
51
52 @script:python depends on report@
53 p << r2.p;
54 fn << r2.fn;
55 @@
56
57 msg = "WARNING: return of 0/1 in function '%s' with return type bool" % fn
58 coccilib.report.print_report(p[0], msg)