diff mbox

scripts/checkpatch.pl: Don't allow special cases of unspaced operators

Message ID 1450443571-14621-1-git-send-email-peter.maydell@linaro.org
State New
Headers show

Commit Message

Peter Maydell Dec. 18, 2015, 12:59 p.m. UTC
The checkpatch.pl script has a special case to permit the following
operators to have no spaces around them:
 <<  >>  &  ^  |  +  -  *  /  %

QEMU style prefers all operators to consistently have spacing around
them, so remove this special case handling. This avoids reviewers
having to manually note it during code review.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
I actually thought failing to point out the lack of spaces was
a checkpatch parsing bug until I looked in the source and found it
was deliberate...

I say "QEMU style prefers", but possibly what I actually mean is
"I prefer" ? Does anybody want to defend the unspaced versions?

 scripts/checkpatch.pl | 13 -------------
 1 file changed, 13 deletions(-)

Comments

Paolo Bonzini Dec. 18, 2015, 1:03 p.m. UTC | #1
On 18/12/2015 13:59, Peter Maydell wrote:
> The checkpatch.pl script has a special case to permit the following
> operators to have no spaces around them:
>  <<  >>  &  ^  |  +  -  *  /  %
> 
> QEMU style prefers all operators to consistently have spacing around
> them, so remove this special case handling. This avoids reviewers
> having to manually note it during code review.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> I actually thought failing to point out the lack of spaces was
> a checkpatch parsing bug until I looked in the source and found it
> was deliberate...
> 
> I say "QEMU style prefers", but possibly what I actually mean is
> "I prefer" ? Does anybody want to defend the unspaced versions?

No thanks.  Let's save to bikeshedding for important stuff such as line
lengths.  :)

Paolo

>  scripts/checkpatch.pl | 13 -------------
>  1 file changed, 13 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index b0f6e11..efca817 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1890,19 +1890,6 @@ sub process {
>  						ERROR("space prohibited after that '$op' $at\n" . $hereptr);
>  					}
>  
> -
> -				# << and >> may either have or not have spaces both sides
> -				} elsif ($op eq '<<' or $op eq '>>' or
> -					 $op eq '&' or $op eq '^' or $op eq '|' or
> -					 $op eq '+' or $op eq '-' or
> -					 $op eq '*' or $op eq '/' or
> -					 $op eq '%')
> -				{
> -					if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) {
> -						ERROR("need consistent spacing around '$op' $at\n" .
> -							$hereptr);
> -					}
> -
>  				# A colon needs no spaces before when it is
>  				# terminating a case value or a label.
>  				} elsif ($opv eq ':C' || $opv eq ':L') {
>
Stefan Weil Dec. 18, 2015, 1:08 p.m. UTC | #2
Am 18.12.2015 um 13:59 schrieb Peter Maydell:
> The checkpatch.pl script has a special case to permit the following
> operators to have no spaces around them:
>  <<  >>  &  ^  |  +  -  *  /  %
> 
> QEMU style prefers all operators to consistently have spacing around
> them, so remove this special case handling. This avoids reviewers
> having to manually note it during code review.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> I actually thought failing to point out the lack of spaces was
> a checkpatch parsing bug until I looked in the source and found it
> was deliberate...
> 
> I say "QEMU style prefers", but possibly what I actually mean is
> "I prefer" ? Does anybody want to defend the unspaced versions?


I don't. Therefore

Reviewed-by: Stefan Weil <sw@weilnetz.de>

Cc'ing QEMU Trivial, maybe it can be applied there.


> 
>  scripts/checkpatch.pl | 13 -------------
>  1 file changed, 13 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index b0f6e11..efca817 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1890,19 +1890,6 @@ sub process {
>  						ERROR("space prohibited after that '$op' $at\n" . $hereptr);
>  					}
>  
> -
> -				# << and >> may either have or not have spaces both sides
> -				} elsif ($op eq '<<' or $op eq '>>' or
> -					 $op eq '&' or $op eq '^' or $op eq '|' or
> -					 $op eq '+' or $op eq '-' or
> -					 $op eq '*' or $op eq '/' or
> -					 $op eq '%')
> -				{
> -					if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) {
> -						ERROR("need consistent spacing around '$op' $at\n" .
> -							$hereptr);
> -					}
> -
>  				# A colon needs no spaces before when it is
>  				# terminating a case value or a label.
>  				} elsif ($opv eq ':C' || $opv eq ':L') {
>
Eric Blake Dec. 18, 2015, 3:31 p.m. UTC | #3
On 12/18/2015 05:59 AM, Peter Maydell wrote:
> The checkpatch.pl script has a special case to permit the following
> operators to have no spaces around them:
>  <<  >>  &  ^  |  +  -  *  /  %
> 
> QEMU style prefers all operators to consistently have spacing around
> them, so remove this special case handling. This avoids reviewers
> having to manually note it during code review.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> I actually thought failing to point out the lack of spaces was
> a checkpatch parsing bug until I looked in the source and found it
> was deliberate...
> 
> I say "QEMU style prefers", but possibly what I actually mean is
> "I prefer" ? Does anybody want to defend the unspaced versions?

I'm in favor of this patch; it only affects new code, and explains why I
have been spotting unspaced operators in new code that didn't trigger
checkpatch noise.

> 
>  scripts/checkpatch.pl | 13 -------------
>  1 file changed, 13 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index b0f6e11..efca817 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1890,19 +1890,6 @@ sub process {
>  						ERROR("space prohibited after that '$op' $at\n" . $hereptr);
>  					}
>  
> -
> -				# << and >> may either have or not have spaces both sides
> -				} elsif ($op eq '<<' or $op eq '>>' or
> -					 $op eq '&' or $op eq '^' or $op eq '|' or
> -					 $op eq '+' or $op eq '-' or
> -					 $op eq '*' or $op eq '/' or
> -					 $op eq '%')
> -				{

What's weird is that the comment wasn't even correct.  Probably one
person special-cased << and >>, and another then extended to
special-case all operators.

Reviewed-by: Eric Blake <eblake@redhat.com>
Michael Tokarev Jan. 11, 2016, 8:12 a.m. UTC | #4
18.12.2015 15:59, Peter Maydell wrote:
> The checkpatch.pl script has a special case to permit the following
> operators to have no spaces around them:
>  <<  >>  &  ^  |  +  -  *  /  %
> 
> QEMU style prefers all operators to consistently have spacing around
> them, so remove this special case handling. This avoids reviewers
> having to manually note it during code review.

Applied to -trivial, thank you!

/mjt
diff mbox

Patch

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index b0f6e11..efca817 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1890,19 +1890,6 @@  sub process {
 						ERROR("space prohibited after that '$op' $at\n" . $hereptr);
 					}
 
-
-				# << and >> may either have or not have spaces both sides
-				} elsif ($op eq '<<' or $op eq '>>' or
-					 $op eq '&' or $op eq '^' or $op eq '|' or
-					 $op eq '+' or $op eq '-' or
-					 $op eq '*' or $op eq '/' or
-					 $op eq '%')
-				{
-					if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) {
-						ERROR("need consistent spacing around '$op' $at\n" .
-							$hereptr);
-					}
-
 				# A colon needs no spaces before when it is
 				# terminating a case value or a label.
 				} elsif ($opv eq ':C' || $opv eq ':L') {