License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[linux-block.git] / scripts / coccinelle / misc / boolreturn.cocci
CommitLineData
b2441318 1// SPDX-License-Identifier: GPL-2.0
46b5c9b8
RV
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
7
8virtual patch
9virtual report
10virtual context
11
12@r1 depends on patch@
13identifier fn;
14typedef bool;
15symbol false;
16symbol true;
17@@
18
19bool fn ( ... )
20{
21<...
22return
23(
24- 0
25+ false
26|
27- 1
28+ true
29)
30 ;
31...>
32}
33
34@r2 depends on report || context@
35identifier fn;
36position p;
37@@
38
39bool fn ( ... )
40{
41<...
42return
43(
44* 0@p
45|
46* 1@p
47)
48 ;
49...>
50}
51
52
53@script:python depends on report@
54p << r2.p;
55fn << r2.fn;
56@@
57
58msg = "WARNING: return of 0/1 in function '%s' with return type bool" % fn
59coccilib.report.print_report(p[0], msg)