cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

boolconv.cocci (1506B)


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