Messages in this thread Patch in this message | | | From | Andy Whitcroft <> | Subject | [PATCH 6/9] checkpatch: detect multiple bitfield declarations | Date | Thu, 23 Oct 2008 12:06:36 +0100 |
| |
Detect the colons (:) which make up secondary bitfield declarations and apply binary colon checks. For example the following is common idiom:
int foo:1, bar:1;
Signed-off-by: Andy Whitcroft <apw@shadowen.org> --- scripts/checkpatch.pl | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 90f78ef..c73fd44 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -844,11 +844,11 @@ sub annotate_values { $type = 'V'; $av_pending = 'V'; - } elsif ($cur =~ /^($Ident\s*):/) { - if ($type eq 'E') { - $av_pend_colon = 'L'; - } elsif ($type eq 'T') { + } elsif ($cur =~ /^($Ident\s*):(?:\s*\d+\s*(,|=|;))?/) { + if (defined $2 && $type eq 'C' || $type eq 'T') { $av_pend_colon = 'B'; + } elsif ($type eq 'E') { + $av_pend_colon = 'L'; } print "IDENT_COLON($1,$type>$av_pend_colon)\n" if ($dbg_values > 1); $type = 'V'; @@ -866,6 +866,10 @@ sub annotate_values { $type = 'E'; $av_pend_colon = 'O'; + } elsif ($cur =~/^(,)/) { + print "COMMA($1)\n" if ($dbg_values > 1); + $type = 'C'; + } elsif ($cur =~ /^(\?)/o) { print "QUESTION($1)\n" if ($dbg_values > 1); $type = 'N'; @@ -881,7 +885,7 @@ sub annotate_values { } $av_pend_colon = 'O'; - } elsif ($cur =~ /^(;|\[)/o) { + } elsif ($cur =~ /^(\[)/o) { print "CLOSE($1)\n" if ($dbg_values > 1); $type = 'N'; -- 1.6.0.2.711.gf1ba4
| |