summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2020-12-16 05:44:33 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2020-12-16 07:46:17 +0100
commitdc58bc553e7a8e1d6eeaffd92cb8b346e0d62f70 (patch)
treeb80dd90ae5ee32ac7a5e8515b92bd012694d537e
parentcheckpatch: prefer static const declarations (diff)
downloadlinux-dc58bc553e7a8e1d6eeaffd92cb8b346e0d62f70.tar.xz
linux-dc58bc553e7a8e1d6eeaffd92cb8b346e0d62f70.zip
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. Link: https://lkml.kernel.org/r/d9ea654104d55f590fb97d252d64a66b23c1a096.camel@perches.com Signed-off-by: Joe Perches <joe@perches.com> Cc: Julia Lawall <julia.lawall@inria.fr> Cc: Tom Rix <trix@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rwxr-xr-xscripts/checkpatch.pl12
1 files changed, 8 insertions, 4 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 4018bf89e63a..c128875b6666 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3699,12 +3699,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);
+ }
}
}