On Mon, 17 Oct 2016, Andrew F. Davis wrote: > Add a script to check for unneeded conversions to bool.
What changed since the previous version? julia > > Signed-off-by: Andrew F. Davis <a...@ti.com> > Acked-by: Julia Lawall <julia.law...@lip6.fr> > --- > scripts/coccinelle/misc/boolconv.cocci | 90 > ++++++++++++++++++++++++++++++++++ > 1 file changed, 90 insertions(+) > create mode 100644 scripts/coccinelle/misc/boolconv.cocci > > diff --git a/scripts/coccinelle/misc/boolconv.cocci > b/scripts/coccinelle/misc/boolconv.cocci > new file mode 100644 > index 0000000..33c464d > --- /dev/null > +++ b/scripts/coccinelle/misc/boolconv.cocci > @@ -0,0 +1,90 @@ > +/// Remove unneeded conversion to bool > +/// > +//# Relational and logical operators evaluate to bool, > +//# explicit conversion is overly verbose and unneeded. > +// > +// Copyright: (C) 2016 Andrew F. Davis <a...@ti.com> GPLv2. > + > +virtual patch > +virtual context > +virtual org > +virtual report > + > +//---------------------------------------------------------- > +// For patch mode > +//---------------------------------------------------------- > + > +@depends on patch@ > +expression A, B; > +symbol true, false; > +@@ > + > +( > + A == B > +| > + A != B > +| > + A > B > +| > + A < B > +| > + A >= B > +| > + A <= B > +| > + A && B > +| > + A || B > +) > +- ? true : false > + > +//---------------------------------------------------------- > +// For context mode > +//---------------------------------------------------------- > + > +@r depends on !patch@ > +expression A, B; > +symbol true, false; > +position p; > +@@ > + > +( > + A == B > +| > + A != B > +| > + A > B > +| > + A < B > +| > + A >= B > +| > + A <= B > +| > + A && B > +| > + A || B > +) > +* ? true : false@p > + > +//---------------------------------------------------------- > +// For org mode > +//---------------------------------------------------------- > + > +@script:python depends on r&&org@ > +p << r.p; > +@@ > + > +msg = "WARNING: conversion to bool not needed here" > +coccilib.org.print_todo(p[0], msg) > + > +//---------------------------------------------------------- > +// For report mode > +//---------------------------------------------------------- > + > +@script:python depends on r&&report@ > +p << r.p; > +@@ > + > +msg = "WARNING: conversion to bool not needed here" > +coccilib.report.print_report(p[0], msg) > -- > 2.10.1 > > _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci