diff options
author | Joe Perches <joe@perches.com> | 2018-04-10 19:34:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-11 13:28:36 -0400 |
commit | 6a487211ec720658f3e3c39eecd0b6829eafa6d4 (patch) | |
tree | a219f8b988c3d4165db26fffc112e1d86ed73de7 /scripts | |
parent | bc22d9a7d3aa76bc090d844e6aad18db9cc69237 (diff) |
checkpatch: add test for assignment at start of line
Kernel style seems to prefer line wrapping an assignment with the
assignment operator on the previous line like:
<leading tabs> identifier =
expression;
over
<leading tabs> identifier
= expression;
somewhere around a 50:1 ratio
$ git grep -P "[^=]=\s*$" -- "*.[ch]" | wc -l
52008
$ git grep -P "^\s+[\*\/\+\|\%\-]?=[^=>]" | wc -l
1161
So add a --strict test for that condition.
Link: http://lkml.kernel.org/r/1522275726.2210.12.camel@perches.com
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-x | scripts/checkpatch.pl | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index d2464002bb40..5deee8bd0bae 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl | |||
@@ -3062,6 +3062,12 @@ sub process { | |||
3062 | } | 3062 | } |
3063 | } | 3063 | } |
3064 | 3064 | ||
3065 | # check for assignments on the start of a line | ||
3066 | if ($sline =~ /^\+\s+($Assignment)[^=]/) { | ||
3067 | CHK("ASSIGNMENT_CONTINUATIONS", | ||
3068 | "Assignment operator '$1' should be on the previous line\n" . $hereprev); | ||
3069 | } | ||
3070 | |||
3065 | # check for && or || at the start of a line | 3071 | # check for && or || at the start of a line |
3066 | if ($rawline =~ /^\+\s*(&&|\|\|)/) { | 3072 | if ($rawline =~ /^\+\s*(&&|\|\|)/) { |
3067 | CHK("LOGICAL_CONTINUATIONS", | 3073 | CHK("LOGICAL_CONTINUATIONS", |