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