checkpatch: improve OPEN_BRACE test
Some structure definitions that use macros trip the OPEN_BRACE test. e.g. +struct bpf_map_def SEC("maps") control_map = { Improve the test by using $balanced_parens instead of a .* Miscellanea: o Use $sline so any comments are ignored o Correct the message output from declaration to definition o Remove unnecessary parentheses Link: http://lkml.kernel.org/r/db9b772999d1d2fbda3b9ee24bbca81a87837e13.1517543491.git.joe@perches.com Signed-off-by: Joe Perches <joe@perches.com> Reported-by: Song Liu <songliubraving@fb.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
bd49111f7d
commit
2d453e3b41
|
@ -3919,10 +3919,12 @@ sub process {
|
|||
|
||||
# function brace can't be on same line, except for #defines of do while,
|
||||
# or if closed on same line
|
||||
if (($line=~/$Type\s*$Ident\(.*\).*\s*{/) and
|
||||
!($line=~/\#\s*define.*do\s\{/) and !($line=~/}/)) {
|
||||
if ($^V && $^V ge 5.10.0 &&
|
||||
$sline =~ /$Type\s*$Ident\s*$balanced_parens\s*\{/ &&
|
||||
$sline !~ /\#\s*define\b.*do\s*\{/ &&
|
||||
$sline !~ /}/) {
|
||||
if (ERROR("OPEN_BRACE",
|
||||
"open brace '{' following function declarations go on the next line\n" . $herecurr) &&
|
||||
"open brace '{' following function definitions go on the next line\n" . $herecurr) &&
|
||||
$fix) {
|
||||
fix_delete_line($fixlinenr, $rawline);
|
||||
my $fixed_line = $rawline;
|
||||
|
|
Loading…
Reference in New Issue