WIP FPC-III support
[linux/fpc-iii.git] / scripts / coccinelle / misc / boolreturn.cocci
blob29d2bf41e95d17fbc76f574dbd3f5e1b1d19792a
1 // SPDX-License-Identifier: GPL-2.0
2 /// Return statements in functions returning bool should use
3 /// true/false instead of 1/0.
4 //
5 // Confidence: High
6 // Options: --no-includes --include-headers
8 virtual patch
9 virtual report
10 virtual context
12 @r1 depends on patch@
13 identifier fn;
14 typedef bool;
15 symbol false;
16 symbol true;
19 bool fn ( ... )
21 <...
22 return
24 - 0
25 + false
27 - 1
28 + true
30   ;
31 ...>
34 @r2 depends on report || context@
35 identifier fn;
36 position p;
39 bool fn ( ... )
41 <...
42 return
44 * 0@p
46 * 1@p
48   ;
49 ...>
53 @script:python depends on report@
54 p << r2.p;
55 fn << r2.fn;
58 msg = "WARNING: return of 0/1 in function '%s' with return type bool" % fn
59 coccilib.report.print_report(p[0], msg)