[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d9ea654104d55f590fb97d252d64a66b23c1a096.camel@perches.com>
Date: Mon, 19 Oct 2020 08:36:08 -0700
From: Joe Perches <joe@...ches.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Julia Lawall <julia.lawall@...ia.fr>, trix@...hat.com,
linux-kernel@...r.kernel.org, cocci <cocci@...teme.lip6.fr>
Subject: [PATCH V2] checkpatch: Allow --fix removal of unnecessary break
statements
switch/case use of break after a return, goto or break is unnecessary.
There is an existing warning for the return and goto uses, so add
break and a --fix option too.
Signed-off-by: Joe Perches <joe@...ches.com>
---
v2: Add break to matched keyword
and change the message to show the matched keyword
For today's next, this would remove ~300 instances like:
case FOO:
return bar;
break;
or
case FOO:
goto bar;
break;
scripts/checkpatch.pl | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index fab38b493cef..b0597853c16e 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3674,12 +3674,16 @@ sub process {
}
# check indentation of a line with a break;
-# if the previous line is a goto or return and is indented the same # of tabs
+# if the previous line is a goto, return or break
+# and is indented the same # of tabs
if ($sline =~ /^\+([\t]+)break\s*;\s*$/) {
my $tabs = $1;
- if ($prevline =~ /^\+$tabs(?:goto|return)\b/) {
- WARN("UNNECESSARY_BREAK",
- "break is not useful after a goto or return\n" . $hereprev);
+ if ($prevline =~ /^\+$tabs(goto|return|break)\b/) {
+ if (WARN("UNNECESSARY_BREAK",
+ "break is not useful after a $1\n" . $hereprev) &&
+ $fix) {
+ fix_delete_line($fixlinenr, $rawline);
+ }
}
}
Powered by blists - more mailing lists