checkpatch: add check for space after struct, union, and enum

Add spacing checks for struct, union, and enum definitions.  Check the
spacing after type and before the equals (=) and open brace ({).

Based on a patch by Joe Perches.

Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Andy Whitcroft 2010-10-26 14:23:14 -07:00 committed by Linus Torvalds
parent 53a3c4487a
commit 8cf6de7145
1 changed files with 10 additions and 0 deletions

View File

@ -1905,6 +1905,16 @@ sub process {
ERROR("open brace '{' following function declarations go on the next line\n" . $herecurr); ERROR("open brace '{' following function declarations go on the next line\n" . $herecurr);
} }
# missing space after union or struct definition
if ($rawline =~ /^\+\s*(union|struct)\s+$Ident[=\{]/) {
WARN("Missing space after struct or union definition\n" . $herecurr);
}
# missing space after enum definition
if ($rawline =~ /^\+\s*enum\{/) {
WARN("Missing space after enum definition\n" . $herecurr);
}
# open braces for enum, union and struct go on the same line. # open braces for enum, union and struct go on the same line.
if ($line =~ /^.\s*{/ && if ($line =~ /^.\s*{/ &&
$prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) { $prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) {