mirror of https://gitee.com/openkylin/linux.git
checkpatch: add types for other OS typedefs
bsd and sysv use different typedefs for unsigned types. These are in types.h but not in checkpatch, so add them to checkpatch's ability to know types. This can avoid false positives for code like: void foo(void) { int x; uint y; [...]; } where checkpatch incorrectly emits a warning for "missing a blank line after declarations". 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>
This commit is contained in:
parent
b671fde057
commit
021158b4c7
|
@ -339,6 +339,11 @@ our $UTF8 = qr{
|
|||
| $NON_ASCII_UTF8
|
||||
}x;
|
||||
|
||||
our $typeOtherOSTypedefs = qr{(?x:
|
||||
u_(?:char|short|int|long) | # bsd
|
||||
u(?:nchar|short|int|long) # sysv
|
||||
)};
|
||||
|
||||
our $typeTypedefs = qr{(?x:
|
||||
(?:__)?(?:u|s|be|le)(?:8|16|32|64)|
|
||||
atomic_t
|
||||
|
@ -475,6 +480,7 @@ sub build_types {
|
|||
(?:$Modifier\s+|const\s+)*
|
||||
(?:
|
||||
(?:typeof|__typeof__)\s*\([^\)]*\)|
|
||||
(?:$typeOtherOSTypedefs\b)|
|
||||
(?:$typeTypedefs\b)|
|
||||
(?:${all}\b)
|
||||
)
|
||||
|
@ -492,6 +498,7 @@ sub build_types {
|
|||
(?:
|
||||
(?:typeof|__typeof__)\s*\([^\)]*\)|
|
||||
(?:$typeTypedefs\b)|
|
||||
(?:$typeOtherOSTypedefs\b)|
|
||||
(?:${allWithAttr}\b)
|
||||
)
|
||||
(?:\s+$Modifier|\s+const)*
|
||||
|
@ -3159,6 +3166,7 @@ sub process {
|
|||
$line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ &&
|
||||
$line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ &&
|
||||
$line !~ /\b$typeTypedefs\b/ &&
|
||||
$line !~ /\b$typeOtherOSTypedefs\b/ &&
|
||||
$line !~ /\b__bitwise(?:__|)\b/) {
|
||||
WARN("NEW_TYPEDEFS",
|
||||
"do not add new typedefs\n" . $herecurr);
|
||||
|
|
Loading…
Reference in New Issue