scripts: coccinelle: only suggest true/false in files that already use them
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 12 Dec 2018 11:55:56 +0000 (12:55 +0100)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sun, 16 Dec 2018 15:33:43 +0000 (00:33 +0900)
Some code may overall use 0 and 1, so don't introduce occasional
uses of true and false in these cases.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/coccinelle/misc/boolinit.cocci

index b9abed49cd95c5c99841a4e5016eb3c4fda4c1fb..1b44feb7926c7563102b994a99b54cd4b955c525 100644 (file)
@@ -13,10 +13,17 @@ virtual context
 virtual org
 virtual report
 
+@boolok@
+symbol true,false;
+@@
+(
+true
+|
+false
+)
+
 @depends on patch@
 bool t;
-symbol true;
-symbol false;
 @@
 
 (
@@ -63,7 +70,7 @@ bool t;
 + t
 )
 
-@depends on patch@
+@depends on patch && boolok@
 bool b;
 @@
 (
@@ -116,19 +123,23 @@ position p;
 * t@p != 0
 )
 
-@r3 depends on !patch@
+@r3 depends on !patch && boolok@
 bool b;
-position p1,p2;
-constant c;
+position p1;
 @@
 (
 *b@p1 = 0
 |
 *b@p1 = 1
-|
-*b@p2 = c
 )
 
+@r4 depends on !patch@
+bool b;
+position p2;
+constant c != {0,1};
+@@
+*b@p2 = c
+
 @script:python depends on org@
 p << r1.p;
 @@
@@ -148,7 +159,7 @@ p1 << r3.p1;
 cocci.print_main("WARNING: Assignment of bool to 0/1",p1)
 
 @script:python depends on org@
-p2 << r3.p2;
+p2 << r4.p2;
 @@
 
 cocci.print_main("ERROR: Assignment of bool to non-0/1 constant",p2)
@@ -172,7 +183,7 @@ p1 << r3.p1;
 coccilib.report.print_report(p1[0],"WARNING: Assignment of bool to 0/1")
 
 @script:python depends on report@
-p2 << r3.p2;
+p2 << r4.p2;
 @@
 
 coccilib.report.print_report(p2[0],"ERROR: Assignment of bool to non-0/1 constant")