2018-07-03 16:57:28

by Prakruthi Deepak Heragu

[permalink] [raw]
Subject: [PATCH] checkpatch: check for #if 0/#if 1

From: Abhijeet Dharmapurikar <[email protected]>

The #if 0 and #if 1 are used to toggle features. Warn if #if 1 or #if 0
is present. If #if 0 is present, warn about that part of code being
redundant and that it could be removed. Also, if #if 1 is present, suggest
that if the code is required then the #if 1 can be removed. In either
case, the preprocessor directives can be removed.

Signed-off-by: Abhijeet Dharmapurikar <[email protected]>
Signed-off-by: Stepan Moskovchenko <[email protected]>
Signed-off-by: Murali Nalajala <[email protected]>
---
scripts/checkpatch.pl | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a9c0550..a3dc0c8 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5374,9 +5374,16 @@ sub process {

# warn about #if 0
if ($line =~ /^.\s*\#\s*if\s+0\b/) {
- CHK("REDUNDANT_CODE",
- "if this code is redundant consider removing it\n" .
- $herecurr);
+ WARN("IF_0",
+ "if this code is redundant consider removing it\n"
+ . $herecurr);
+ }
+
+# warn about #if 1
+ if ($line =~ /^.\s*\#\s*if\s+1\b/) {
+ WARN("IF_1",
+ "if this code is required consider removing"
+ . " #if 1\n" . $herecurr);
}

# check for needless "if (<foo>) fn(<foo>)" uses
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project