Linux 4.8.3
[linux/fpc-iii.git] / scripts / coccinelle / misc / boolreturn.cocci
bloba43c7b0c36ef8000f3baf7e41cf6223e095eb238
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
7 virtual patch
8 virtual report
9 virtual context
11 @r1 depends on patch@
12 identifier fn;
13 typedef bool;
14 symbol false;
15 symbol true;
18 bool fn ( ... )
20 <...
21 return
23 - 0
24 + false
26 - 1
27 + true
29   ;
30 ...>
33 @r2 depends on report || context@
34 identifier fn;
35 position p;
38 bool fn ( ... )
40 <...
41 return
43 * 0@p
45 * 1@p
47   ;
48 ...>
52 @script:python depends on report@
53 p << r2.p;
54 fn << r2.fn;
57 msg = "WARNING: return of 0/1 in function '%s' with return type bool" % fn
58 coccilib.report.print_report(p[0], msg)