checkpatch: warn on break after goto or return with same tab indentation
Using break; after a goto or return is unnecessary so emit a warning when the break is at the same indent level. So this emits a warning on: switch (foo) { case 1: goto err; break; } but not on: switch (foo) { case 1: if (bar()) goto err; break; } Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
13f1937ef3
commit
c00df19a50
|
@ -2450,6 +2450,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 ($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);
|
||||
}
|
||||
}
|
||||
|
||||
# discourage the addition of CONFIG_EXPERIMENTAL in #if(def).
|
||||
if ($line =~ /^\+\s*\#\s*if.*\bCONFIG_EXPERIMENTAL\b/) {
|
||||
WARN("CONFIG_EXPERIMENTAL",
|
||||
|
|
Loading…
Reference in New Issue