162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/// Remove unneeded conversion to bool
362306a36Sopenharmony_ci///
462306a36Sopenharmony_ci//# Relational and logical operators evaluate to bool,
562306a36Sopenharmony_ci//# explicit conversion is overly verbose and unneeded.
662306a36Sopenharmony_ci//
762306a36Sopenharmony_ci// Copyright: (C) 2016 Andrew F. Davis <afd@ti.com>
862306a36Sopenharmony_ci
962306a36Sopenharmony_civirtual patch
1062306a36Sopenharmony_civirtual context
1162306a36Sopenharmony_civirtual org
1262306a36Sopenharmony_civirtual report
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci//----------------------------------------------------------
1562306a36Sopenharmony_ci//  For patch mode
1662306a36Sopenharmony_ci//----------------------------------------------------------
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci@depends on patch@
1962306a36Sopenharmony_ciexpression A, B;
2062306a36Sopenharmony_cisymbol true, false;
2162306a36Sopenharmony_ci@@
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci(
2462306a36Sopenharmony_ci  A == B
2562306a36Sopenharmony_ci|
2662306a36Sopenharmony_ci  A != B
2762306a36Sopenharmony_ci|
2862306a36Sopenharmony_ci  A > B
2962306a36Sopenharmony_ci|
3062306a36Sopenharmony_ci  A < B
3162306a36Sopenharmony_ci|
3262306a36Sopenharmony_ci  A >= B
3362306a36Sopenharmony_ci|
3462306a36Sopenharmony_ci  A <= B
3562306a36Sopenharmony_ci|
3662306a36Sopenharmony_ci  A && B
3762306a36Sopenharmony_ci|
3862306a36Sopenharmony_ci  A || B
3962306a36Sopenharmony_ci)
4062306a36Sopenharmony_ci- ? true : false
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci//----------------------------------------------------------
4362306a36Sopenharmony_ci//  For context mode
4462306a36Sopenharmony_ci//----------------------------------------------------------
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci@r depends on !patch@
4762306a36Sopenharmony_ciexpression A, B;
4862306a36Sopenharmony_cisymbol true, false;
4962306a36Sopenharmony_ciposition p;
5062306a36Sopenharmony_ci@@
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci(
5362306a36Sopenharmony_ci  A == B
5462306a36Sopenharmony_ci|
5562306a36Sopenharmony_ci  A != B
5662306a36Sopenharmony_ci|
5762306a36Sopenharmony_ci  A > B
5862306a36Sopenharmony_ci|
5962306a36Sopenharmony_ci  A < B
6062306a36Sopenharmony_ci|
6162306a36Sopenharmony_ci  A >= B
6262306a36Sopenharmony_ci|
6362306a36Sopenharmony_ci  A <= B
6462306a36Sopenharmony_ci|
6562306a36Sopenharmony_ci  A && B
6662306a36Sopenharmony_ci|
6762306a36Sopenharmony_ci  A || B
6862306a36Sopenharmony_ci)
6962306a36Sopenharmony_ci* ? true : false@p
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci//----------------------------------------------------------
7262306a36Sopenharmony_ci//  For org mode
7362306a36Sopenharmony_ci//----------------------------------------------------------
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci@script:python depends on r&&org@
7662306a36Sopenharmony_cip << r.p;
7762306a36Sopenharmony_ci@@
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_cimsg = "WARNING: conversion to bool not needed here"
8062306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg)
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci//----------------------------------------------------------
8362306a36Sopenharmony_ci//  For report mode
8462306a36Sopenharmony_ci//----------------------------------------------------------
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci@script:python depends on r&&report@
8762306a36Sopenharmony_cip << r.p;
8862306a36Sopenharmony_ci@@
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_cimsg = "WARNING: conversion to bool not needed here"
9162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg)
92