Skip to content

Commit b0e9113

Browse files
scripts: checkpatch: fix missing blank line detection after declarations
Fix checkpatch not warning when a blank line after a declaration is removed. Signed-off-by: Vignesh Pandian <vignesh@aerlync.com>
1 parent a1b406d commit b0e9113

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

scripts/checkpatch.pl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3521,39 +3521,39 @@ sub process {
35213521
}
35223522

35233523
# check for missing blank lines after declarations
3524-
if ($sline =~ /^\+\s+\S/ && #Not at char 1
3524+
if (($sline =~ /^\+\s+\S/ || $sline =~ /^\s+\S/) && # Not at char 1
35253525
# actual declarations
35263526
($prevline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ ||
35273527
# function pointer declarations
3528-
$prevline =~ /^\+\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ ||
3528+
$prevline =~ /^(\+|\s)\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ ||
35293529
# foo bar; where foo is some local typedef or #define
3530-
$prevline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ ||
3530+
$prevline =~ /^(\+|\s)\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ ||
35313531
# known declaration macros
3532-
$prevline =~ /^\+\s+$declaration_macros/) &&
3532+
$prevline =~ /^(\+|\s)\s+$declaration_macros/) &&
35333533
# for "else if" which can look like "$Ident $Ident"
3534-
!($prevline =~ /^\+\s+$c90_Keywords\b/ ||
3534+
!($prevline =~ /^(\+|\s)\s+$c90_Keywords\b/ ||
35353535
# other possible extensions of declaration lines
35363536
$prevline =~ /(?:$Compare|$Assignment|$Operators)\s*$/ ||
35373537
# not starting a section or a macro "\" extended line
35383538
$prevline =~ /(?:\{\s*|\\)$/) &&
35393539
# looks like a declaration
3540-
!($sline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ ||
3540+
!($sline =~ /^(\+|\s)\s+$Declare\s*$Ident\s*[=,;:\[]/ ||
35413541
# function pointer declarations
3542-
$sline =~ /^\+\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ ||
3542+
$sline =~ /^(\+|\s)\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ ||
35433543
# foo bar; where foo is some local typedef or #define
3544-
$sline =~ /^\+\s+(?:volatile\s+)?$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ ||
3544+
$sline =~ /^(\+|\s)\s+(?:volatile\s+)?$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ ||
35453545
# known declaration macros
3546-
$sline =~ /^\+\s+$declaration_macros/ ||
3546+
$sline =~ /^(\+|\s)\s+$declaration_macros/ ||
35473547
# start of struct or union or enum
3548-
$sline =~ /^\+\s+(?:volatile\s+)?(?:static\s+)?(?:const\s+)?(?:union|struct|enum|typedef)\b/ ||
3548+
$sline =~ /^(\+|\s)\s+(?:volatile\s+)?(?:static\s+)?(?:const\s+)?(?:union|struct|enum|typedef)\b/ ||
35493549
# start or end of block or continuation of declaration
3550-
$sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(\[])/ ||
3550+
$sline =~ /^(\+|\s)\s+(?:$|[\{\}\.\#\"\?\:\(\[])/ ||
35513551
# bitfield continuation
3552-
$sline =~ /^\+\s+$Ident\s*:\s*\d+\s*[,;]/ ||
3552+
$sline =~ /^(\+|\s)\s+$Ident\s*:\s*\d+\s*[,;]/ ||
35533553
# other possible extensions of declaration lines
3554-
$sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/) &&
3554+
$sline =~ /^(\+|\s)\s+\(?\s*(?:$Compare|$Assignment|$Operators)/) &&
35553555
# indentation of previous and current line are the same
3556-
(($prevline =~ /\+(\s+)\S/) && $sline =~ /^\+$1\S/)) {
3556+
(($prevline =~ /^(\+|\s)(\s+)\S/) && $sline =~ /^(\+|\s)$2\S/)) {
35573557
if (WARN("LINE_SPACING",
35583558
"Missing a blank line after declarations\n" . $hereprev) &&
35593559
$fix) {

0 commit comments

Comments
 (0)