mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
checkpatch: pull out known acceptable typedefs
Within the type checker we have a number of common kernel types which must be implemented as typedefs. Pull those out so that we can use the same expressions to trigger exclusions. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
afbe8d283b
commit
8ed22cad9c
@ -146,6 +146,11 @@ our $UTF8 = qr {
|
||||
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
|
||||
}x;
|
||||
|
||||
our $typeTypedefs = qr{(?x:
|
||||
(?:__)?(?:u|s|be|le)(?:\d|\d\d)|
|
||||
atomic_t
|
||||
)};
|
||||
|
||||
our @typeList = (
|
||||
qr{void},
|
||||
qr{(?:unsigned\s+)?char},
|
||||
@ -159,7 +164,6 @@ our @typeList = (
|
||||
qr{float},
|
||||
qr{double},
|
||||
qr{bool},
|
||||
qr{(?:__)?(?:u|s|be|le)(?:\d|\d\d)},
|
||||
qr{struct\s+$Ident},
|
||||
qr{union\s+$Ident},
|
||||
qr{enum\s+$Ident},
|
||||
@ -179,6 +183,7 @@ sub build_types {
|
||||
(?:$Modifier\s+|const\s+)*
|
||||
(?:
|
||||
(?:typeof|__typeof__)\s*\(\s*\**\s*$Ident\s*\)|
|
||||
(?:$typeTypedefs\b)|
|
||||
(?:${all}\b)
|
||||
)
|
||||
(?:\s+$Modifier|\s+const)*
|
||||
@ -1589,6 +1594,7 @@ sub process {
|
||||
if ($line =~ /\btypedef\s/ &&
|
||||
$line !~ /\btypedef\s+$Type\s+\(\s*\*?$Ident\s*\)\s*\(/ &&
|
||||
$line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ &&
|
||||
$line !~ /\b$typeTypedefs\b/ &&
|
||||
$line !~ /\b__bitwise(?:__|)\b/) {
|
||||
WARN("do not add new typedefs\n" . $herecurr);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user