summaryrefslogtreecommitdiff
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorKukjin Kim <kgene.kim@samsung.com>2014-07-18 23:24:18 +0400
committerKukjin Kim <kgene.kim@samsung.com>2014-07-18 23:24:18 +0400
commita7a30232df01db886473324050d79c3122937c78 (patch)
tree76323b745b44b792173575843a72a2f6baa8a6da /scripts/checkpatch.pl
parentf86e0add813a3cc0e338089fa6c0928f5f6dc52d (diff)
parentfce9e5bb25264153f9f002eada41757118d25ba9 (diff)
downloadlinux-a7a30232df01db886473324050d79c3122937c78.tar.xz
Merge branch 'v3.17-next/cleanup-samsung' into v3.17-next/dt-s5pv210
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl15
1 files changed, 10 insertions, 5 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 010b18ef4ea0..182be0f12407 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3476,12 +3476,17 @@ sub process {
}
}
-# unnecessary return in a void function? (a single leading tab, then return;)
- if ($sline =~ /^\+\treturn\s*;\s*$/ &&
- $prevline =~ /^\+/) {
+# unnecessary return in a void function
+# at end-of-function, with the previous line a single leading tab, then return;
+# and the line before that not a goto label target like "out:"
+ if ($sline =~ /^[ \+]}\s*$/ &&
+ $prevline =~ /^\+\treturn\s*;\s*$/ &&
+ $linenr >= 3 &&
+ $lines[$linenr - 3] =~ /^[ +]/ &&
+ $lines[$linenr - 3] !~ /^[ +]\s*$Ident\s*:/) {
WARN("RETURN_VOID",
- "void function return statements are not generally useful\n" . $herecurr);
- }
+ "void function return statements are not generally useful\n" . $hereprev);
+ }
# if statements using unnecessary parentheses - ie: if ((foo == bar))
if ($^V && $^V ge 5.10.0 &&