| // SPDX-License-Identifier: GPL-2.0-only |
| /// 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 <afd@ti.com> |
| |
| 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) |