aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2014-08-06 19:11:01 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 21:01:28 -0400
commitc00df19a5026f2cb08f1770dcc29226512f4d099 (patch)
treeffc146309723945fac34988eebd0d9a1f2284e53 /scripts
parent13f1937ef33950b1112049972249e6191b82e6c9 (diff)
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>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/checkpatch.pl10
1 files changed, 10 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 0cf8b98d8dc9..fc72d64cd2d4 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2450,6 +2450,16 @@ sub process {
2450 } 2450 }
2451 } 2451 }
2452 2452
2453# check indentation of a line with a break;
2454# if the previous line is a goto or return and is indented the same # of tabs
2455 if ($sline =~ /^\+([\t]+)break\s*;\s*$/) {
2456 my $tabs = $1;
2457 if ($prevline =~ /^\+$tabs(?:goto|return)\b/) {
2458 WARN("UNNECESSARY_BREAK",
2459 "break is not useful after a goto or return\n" . $hereprev);
2460 }
2461 }
2462
2453# discourage the addition of CONFIG_EXPERIMENTAL in #if(def). 2463# discourage the addition of CONFIG_EXPERIMENTAL in #if(def).
2454 if ($line =~ /^\+\s*\#\s*if.*\bCONFIG_EXPERIMENTAL\b/) { 2464 if ($line =~ /^\+\s*\#\s*if.*\bCONFIG_EXPERIMENTAL\b/) {
2455 WARN("CONFIG_EXPERIMENTAL", 2465 WARN("CONFIG_EXPERIMENTAL",