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