checkpatch: expand parenthesis alignment test to declarations, functions and assignments
Currently the parenthesis alignment test works only on misalignments of if statements like if (foo(bar, baz) Expand the test to find misalignments like: static inline int foo(int bar, int baz) and foo(bar, baz); and foo = bar(baz, qux); Expand the $Inline keyword for __inline and __inline__ too. Add $Inline to $Declare so it also matches "static inline <foo>". These checks are only performed with --strict. Change-Id: I9fde542cd6dd0c384127b994c101f9148878669d 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> Git-commit: 91cb5195ff224dd9044cf927f80d9c633cdcffec Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
This commit is contained in:
parent
4cdfddaa14
commit
b969894a52
|
@ -281,7 +281,7 @@ our $Attribute = qr{
|
|||
__weak
|
||||
}x;
|
||||
our $Modifier;
|
||||
our $Inline = qr{inline|__always_inline|noinline};
|
||||
our $Inline = qr{inline|__always_inline|noinline|__inline|__inline__};
|
||||
our $Member = qr{->$Ident|\.$Ident|\[[^]]*\]};
|
||||
our $Lval = qr{$Ident(?:$Member)*};
|
||||
|
||||
|
@ -304,6 +304,8 @@ our $Operators = qr{
|
|||
&&|\|\||,|\^|\+\+|--|&|\||$Arithmetic
|
||||
}x;
|
||||
|
||||
our $c90_Keywords = qr{do|for|while|if|else|return|goto|continue|switch|default|case|break}x;
|
||||
|
||||
our $NonptrType;
|
||||
our $NonptrTypeWithAttr;
|
||||
our $Type;
|
||||
|
@ -429,7 +431,7 @@ sub build_types {
|
|||
(?:(?:\s|\*|\[\])+\s*const|(?:\s|\*|\[\])+|(?:\s*\[\s*\])+)?
|
||||
(?:\s+$Inline|\s+$Modifier)*
|
||||
}x;
|
||||
$Declare = qr{(?:$Storage\s+)?$Type};
|
||||
$Declare = qr{(?:$Storage\s+(?:$Inline\s+)?)?$Type};
|
||||
}
|
||||
build_types();
|
||||
|
||||
|
@ -1607,7 +1609,7 @@ sub pos_last_openparen {
|
|||
}
|
||||
}
|
||||
|
||||
return $last_openparen + 1;
|
||||
return length(expand_tabs(substr($line, 0, $last_openparen))) + 1;
|
||||
}
|
||||
|
||||
sub process {
|
||||
|
@ -2200,7 +2202,7 @@ sub process {
|
|||
|
||||
# check multi-line statement indentation matches previous line
|
||||
if ($^V && $^V ge 5.10.0 &&
|
||||
$prevline =~ /^\+(\t*)(if \(|$Ident\().*(\&\&|\|\||,)\s*$/) {
|
||||
$prevline =~ /^\+([ \t]*)((?:$c90_Keywords(?:\s+if)\s*)|(?:$Declare\s*)?(?:$Ident|\(\s*\*\s*$Ident\s*\))\s*|$Ident\s*=\s*$Ident\s*)\(.*(\&\&|\|\||,)\s*$/) {
|
||||
$prevline =~ /^\+(\t*)(.*)$/;
|
||||
my $oldindent = $1;
|
||||
my $rest = $2;
|
||||
|
|
Loading…
Reference in New Issue