[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC][PATCH v1 2/2] Adjust checkpatch.pl to xen CODING_STYLE
Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx> --- scripts/checkpatch.pl | 82 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 31 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 053e432..1034f25 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -97,9 +97,13 @@ my $dbg_values = 0; my $dbg_possible = 0; my $dbg_type = 0; my $dbg_attr = 0; +my $dbg_adv_ero = 0; +my $dbg_adv_obn = 0; my $dbg_adv_dcs = 0; my $dbg_adv_checking = 0; my $dbg_adv_apw = 0; +my $dbg_adv_cond = 0; +my $dbg_adv_space = 0; for my $key (keys %debug) { ## no critic eval "\${dbg_$key} = '$debug{$key}';"; @@ -206,13 +210,9 @@ our $UTF8 = qr { | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16 }x; -# There are still some false positives, but this catches most -# common cases. our $typeTypedefs = qr{(?x: - [A-Z][A-Z\d_]*[a-z][A-Za-z\d_]* # camelcase - | [A-Z][A-Z\d_]*AIOCB # all uppercase - | [A-Z][A-Z\d_]*CPU # all uppercase - | QEMUBH # all uppercase + (?:__)?(?:u|s|be|le)(?:8|16|32|64)| + atomic_t )}; our $logFunctions = qr{(?x: @@ -336,8 +336,8 @@ sub top_of_kernel_tree { my @tree_check = ( "COPYING", "MAINTAINERS", "Makefile", - "README", "docs", "VERSION", - "vl.c" + "README", "docs", "xen", "tools", + "CODING_STYLE" ); foreach my $check (@tree_check) { @@ -1094,6 +1094,8 @@ sub possible { my $prefix = ''; sub report { + print "ERO: $_[0]" + if $dbg_adv_ero; if (defined $tst_only && $_[0] !~ /\Q$tst_only\E/) { return 0; } @@ -1636,11 +1638,13 @@ sub process { $ctx_ln++; } - #print "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n"; - #print "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n"; + if ($dbg_adv_obn) { + print "OBN: realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n"; + print "OBN: pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n"; + } - if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln -1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) { - ERROR("that open brace { should be on the previous line\n" . + if ($ctx =~ /{\s*/ && $ctx !~ /do\s+{/ && defined($lines[$ctx_ln -1]) && $lines[$ctx_ln - 1] !~ /^\+\s*{/) { + ERROR("that open brace { should be on the next line\n" . "$here\n$ctx\n$rawlines[$ctx_ln - 1]\n"); } if ($level == 0 && $pre_ctx !~ /}\s*while\s*\($/ && @@ -2226,13 +2230,28 @@ sub process { # check spacing on parentheses if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ && - $line !~ /for\s*\(\s+;/) { + $line !~ /\s\)\s\?\s/ && + $line !~ /for\s*\(\s+;/ && $line !~ /\b(if|while|for|switch)\s\(\s\S/) { + print "SPACE: prevline<$prevline> line<$line>\n" + if $dbg_adv_space; ERROR("space prohibited after that open parenthesis '('\n" . $herecurr); } if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ && - $line !~ /for\s*\(.*;\s+\)/ && + $line !~ /\s\)\s\?\s/ && + $line !~ /for\s*\(.*;\s+\)/ && $line !~ /\b(if|while|for|switch)\s\(\s\S/ && + $prevline !~ /\b(if|while|for|switch)\s\(\s\S/ && $line !~ /:\s+\)/) { - ERROR("space prohibited before that close parenthesis ')'\n" . $herecurr); + my $both_line = $prevline.$line; + my @opens = split(/\(/, $both_line, -1); + my $open_cnt = $#opens; + my @closes = split(/\)/, $both_line, -1); + my $close_cnt = $#closes; + if ($dbg_adv_space) { + print "SPACE: prevline<$prevline> line<$line>\n"; + print "SPACE: open_cnt<$open_cnt> close_cnt<$close_cnt>\n"; + } + ERROR("space prohibited before that close parenthesis ')'\n" . $herecurr) + if $open_cnt == $close_cnt; } # Return is not a function. @@ -2361,10 +2380,10 @@ sub process { # Check for }<nl>else {, these must be at the same # indent level to be relevant to each other. - if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ and - $previndent == $indent) { - ERROR("else should follow close brace '}'\n" . $hereprev); - } +# if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ and +# $previndent == $indent) { +# ERROR("else should follow close brace '}'\n" . $hereprev); +# } if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ and $previndent == $indent) { @@ -2511,8 +2530,8 @@ sub process { WARN("vmlinux.lds.h needs VMLINUX_SYMBOL() around C-visible symbols\n" . $herecurr); } -# check for missing bracing round if etc - if ($line =~ /(^.*)\bif\b/ && $line !~ /\#\s*if/) { +# check for redundant bracing round if etc + if ($line =~ /(^.*)\bif\b/ && $1 !~ /else\s*$/) { my ($level, $endln, @chunks) = ctx_statement_full($linenr, $realcnt, 1); if ($dbg_adv_apw) { @@ -2520,7 +2539,7 @@ sub process { print "APW: <<$chunks[1][0]>><<$chunks[1][1]>>\n" if $#chunks >= 1; } - if ($#chunks >= 0 && $level == 0) { + if ($#chunks > 0 && $level == 0) { my $allowed = 0; my $seen = 0; my $herectx = $here . "\n"; @@ -2532,7 +2551,8 @@ sub process { my ($whitespace) = ($cond =~ /^((?:\s*\n[+-])*\s*)/s); my $offset = statement_rawlines($whitespace) - 1; - #print "COND<$cond> whitespace<$whitespace> offset<$offset>\n"; + print "COND<$cond> whitespace<$whitespace> offset<$offset>\n" + if $dbg_adv_cond; # We have looked at and allowed this specific line. $suppress_ifbraces{$ln + $offset} = 1; @@ -2544,10 +2564,10 @@ sub process { $seen++ if ($block =~ /^\s*{/); - print "APW: cond<$cond> block<$block> allowed<$allowed>\n" + print "APW: cond<$cond> block<$block> allowed<$allowed> seen<$seen>\n" if $dbg_adv_apw; if (statement_lines($cond) > 1) { - print "APW: ALLOWED: cond<$cond>\n" + print "APW: ALLOWED: lines > 1 cond<$cond>\n" if $dbg_adv_apw; $allowed = 1; } @@ -2557,13 +2577,13 @@ sub process { $allowed = 1; } if (statement_block_size($block) > 1) { - print "APW: ALLOWED: lines block<$block>\n" + print "APW: ALLOWED: block_size > 1 block<$block>\n" if $dbg_adv_apw; $allowed = 1; } } - if ($seen != ($#chunks + 1)) { - WARN("braces {} are necessary for all arms of this statement\n" . $herectx); + if ($seen && !$allowed) { + WARN("braces {} are not necessary for any arm of this statement\n" . $herectx); } } } @@ -2595,7 +2615,7 @@ sub process { substr($block, 0, length($cond), ''); } if (statement_lines($cond) > 1) { - print "APW: ALLOWED: cond<$cond>\n" + print "APW: ALLOWED: lines cond<$cond>\n" if $dbg_adv_apw; $allowed = 1; } @@ -2623,7 +2643,7 @@ sub process { } print "DCS: level=$level block<$block> allowed=$allowed\n" if $dbg_adv_dcs; - if ($level == 0 && $block !~ /^\s*\{/ && !$allowed) { + if ($level == 0 && $block =~ /^\s*\{/ && !$allowed) { my $herectx = $here . "\n";; my $cnt = statement_rawlines($block); @@ -2631,7 +2651,7 @@ sub process { $herectx .= raw_line($linenr, $n) . "\n";; } - WARN("braces {} are necessary even for single statement blocks\n" . $herectx); + WARN("braces {} are not necessary for single statement blocks\n" . $herectx); } } -- 1.8.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |