Patchwork Who maintains checkpatch.pl now?

login
register
mail settings
Submitter Peter Chubb
Date Nov. 25, 2011, 3:17 a.m.
Message ID <w4hb1sgabh.wl%peter@chubb.wattle.id.au>
Download mbox | patch
Permalink /patch/127637/
State New
Headers show

Comments

Peter Chubb - Nov. 25, 2011, 3:17 a.m.
Who maintainss checkpatch.pl now?
checkpatch.pl says to look for CHECKPATCH in the MAINTAINERS file, but
that entry isn't there.  


The issue I'm encountering is that sizeof is not a function, but an
operator, that takes as its operand either a variable or a cast.  As
such there needn't be any parentheses (if the operand is a variable),
and there should a space before the cast.

In the QEMU code at present, the use of whitespace around sizeof varies
from file to file; 
checkpatch.pl complains about

   sizeof (struct foo)
WARNING: space prohibited between function name and open parenthesis '('

If I fix the problem as in the appended patch, I start seeing other
complaints:

ERROR: space prohibited after that '*' (ctx:WxW)
+#define PRIO_PER_WORD (sizeof (uint32_t) * 8 / 4)
                                          ^




--
Dr Peter Chubb  http://www.gelato.unsw.edu.au  peterc AT gelato.unsw.edu.au
http://www.ertos.nicta.com.au           ERTOS within National ICT Australia
Paolo Bonzini - Nov. 25, 2011, 9:26 a.m.
On 11/25/2011 04:17 AM, Peter Chubb wrote:
> If I fix the problem as in the appended patch, I start seeing other
> complaints:
>
> ERROR: space prohibited after that '*' (ctx:WxW)
> +#define PRIO_PER_WORD (sizeof (uint32_t) * 8 / 4)
>                                            ^

This was fixed recently in upstream Linux checkpatch, I posted a patch. 
  I'm ambivalent about the patch below; it's fine but perhaps we should 
fix sizeof occurrences followed by a space instead.  But it's just a 
warning.

Blue Swirl, can you please add yourself as checkpatch maintainer (in Odd 
Fixes status, I guess)?

Paolo

> Index: qemu-working/scripts/checkpatch.pl
> ===================================================================
> --- qemu-working.orig/scripts/checkpatch.pl	2011-11-10 10:16:43.215022488 +1100
> +++ qemu-working/scripts/checkpatch.pl	2011-11-25 14:02:30.908358997 +1100
> @@ -1953,21 +1953,21 @@ sub process {
>   		}
>
>   # check for spaces between functions and their parentheses.
>   		while ($line =~ /($Ident)\s+\(/g) {
>   			my $name = $1;
>   			my $ctx_before = substr($line, 0, $-[1]);
>   			my $ctx = "$ctx_before$name";
>
>   			# Ignore those directives where spaces_are_  permitted.
>   			if ($name =~ /^(?:
> -				if|for|while|switch|return|case|
> +				if|for|while|switch|return|case|sizeof|
>   				volatile|__volatile__|
>   				__attribute__|format|__extension__|
>   				asm|__asm__)$/x)
>   			{
>
>   			# cpp #define statements have non-optional spaces, ie
>   			# if there is a space between the name and the open
>   			# parenthesis it is simply not a parameter group.
>   			} elsif ($ctx_before =~ /^.\s*\#\s*define\s*$/) {
>

Patch

Index: qemu-working/scripts/checkpatch.pl
===================================================================
--- qemu-working.orig/scripts/checkpatch.pl	2011-11-10 10:16:43.215022488 +1100
+++ qemu-working/scripts/checkpatch.pl	2011-11-25 14:02:30.908358997 +1100
@@ -1953,21 +1953,21 @@  sub process {
 		}
 
 # check for spaces between functions and their parentheses.
 		while ($line =~ /($Ident)\s+\(/g) {
 			my $name = $1;
 			my $ctx_before = substr($line, 0, $-[1]);
 			my $ctx = "$ctx_before$name";
 
 			# Ignore those directives where spaces _are_ permitted.
 			if ($name =~ /^(?:
-				if|for|while|switch|return|case|
+				if|for|while|switch|return|case|sizeof|
 				volatile|__volatile__|
 				__attribute__|format|__extension__|
 				asm|__asm__)$/x)
 			{
 
 			# cpp #define statements have non-optional spaces, ie
 			# if there is a space between the name and the open
 			# parenthesis it is simply not a parameter group.
 			} elsif ($ctx_before =~ /^.\s*\#\s*define\s*$/) {