]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - scripts/coccinelle/misc/boolconv.cocci
Merge remote-tracking branches 'asoc/topic/cs35l35', 'asoc/topic/cs53l30', 'asoc...
[mirror_ubuntu-bionic-kernel.git] / scripts / coccinelle / misc / boolconv.cocci
1 /// Remove unneeded conversion to bool
2 ///
3 //# Relational and logical operators evaluate to bool,
4 //# explicit conversion is overly verbose and unneeded.
5 //
6 // Copyright: (C) 2016 Andrew F. Davis <afd@ti.com> GPLv2.
7
8 virtual patch
9 virtual context
10 virtual org
11 virtual report
12
13 //----------------------------------------------------------
14 // For patch mode
15 //----------------------------------------------------------
16
17 @depends on patch@
18 expression A, B;
19 symbol true, false;
20 @@
21
22 (
23 A == B
24 |
25 A != B
26 |
27 A > B
28 |
29 A < B
30 |
31 A >= B
32 |
33 A <= B
34 |
35 A && B
36 |
37 A || B
38 )
39 - ? true : false
40
41 //----------------------------------------------------------
42 // For context mode
43 //----------------------------------------------------------
44
45 @r depends on !patch@
46 expression A, B;
47 symbol true, false;
48 position p;
49 @@
50
51 (
52 A == B
53 |
54 A != B
55 |
56 A > B
57 |
58 A < B
59 |
60 A >= B
61 |
62 A <= B
63 |
64 A && B
65 |
66 A || B
67 )
68 * ? true : false@p
69
70 //----------------------------------------------------------
71 // For org mode
72 //----------------------------------------------------------
73
74 @script:python depends on r&&org@
75 p << r.p;
76 @@
77
78 msg = "WARNING: conversion to bool not needed here"
79 coccilib.org.print_todo(p[0], msg)
80
81 //----------------------------------------------------------
82 // For report mode
83 //----------------------------------------------------------
84
85 @script:python depends on r&&report@
86 p << r.p;
87 @@
88
89 msg = "WARNING: conversion to bool not needed here"
90 coccilib.report.print_report(p[0], msg)