[Qemu-devel] [PATCH v4 04/40] checkpatch: Recognize IEC binary prefix definitions

Philippe Mathieu-Daudé posted 40 patches 7 years, 8 months ago
Only 38 patches received!
There is a newer version of this series
[Qemu-devel] [PATCH v4 04/40] checkpatch: Recognize IEC binary prefix definitions
Posted by Philippe Mathieu-Daudé 7 years, 8 months ago
This fixes:

    ERROR: "foo * bar" should be "foo *bar"
    #310: FILE: hw/ppc/ppc440_uc.c:564:
    +        size = 8 * MiB * sh;
    total: 1 errors, 0 warnings, 433 lines checked

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 scripts/checkpatch.pl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index e3d8c2cdfc..4923674c71 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -322,6 +322,7 @@ sub build_types {
 				(?:${all}\b)
 			)
 			(?:\s+$Modifier|\s+const)*
+			(?:[KMGTPE]iB)
 		  }x;
 	$Type	= qr{
 			$NonptrType
-- 
2.17.1


Re: [Qemu-devel] [PATCH v4 04/40] checkpatch: Recognize IEC binary prefix definitions
Posted by Philippe Mathieu-Daudé 7 years, 8 months ago
On 06/10/2018 10:14 PM, Philippe Mathieu-Daudé wrote:
> This fixes:
> 
>     ERROR: "foo * bar" should be "foo *bar"
>     #310: FILE: hw/ppc/ppc440_uc.c:564:
>     +        size = 8 * MiB * sh;
>     total: 1 errors, 0 warnings, 433 lines checked
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  scripts/checkpatch.pl | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index e3d8c2cdfc..4923674c71 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -322,6 +322,7 @@ sub build_types {
>  				(?:${all}\b)
>  			)
>  			(?:\s+$Modifier|\s+const)*
> +			(?:[KMGTPE]iB)
>  		  }x;
>  	$Type	= qr{
>  			$NonptrType
> 

Well this patch doesn't work like expected...

$ git diff --cached | \
  scripts/checkpatch.pl --no-signoff --debug values=2 -
 <E> <E> <_>WS(         )
 <E> <E> <_>IDENT(size)
 <E> <V> <_>WS( )
 <E> <V> <_>ASSIGN(=)
 <E> <N> <_>WS( )
 <E> <N> <_>IDENT(8)
 <E> <V> <_>WS( )
 <E> <V> <_>OPV(*)
 <E> <N> <_>WS( )
 <E> <N> <_>DECLARE(MiB * ) <------------
 <E> <T> <_>IDENT(sh)
 <E> <V> <_>END(;)
 <E> <E> <_>WS(
)
22 > .         size = 8 * MiB * sh;
22 > EEEEEEEEEEVVVVVNNVVNNTTTTTTVVEE
22 >  __________________B___________

Which looks OK, but then (example):

$ git diff --cached
diff --git a/include/net/net.h b/include/net/net.h
-void qemu_del_nic(NICState *nic);
+void qemu_del_nic(NICState *test);

$ git diff --cached | \
  scripts/checkpatch.pl --no-signoff --debug values=2 -

 void qemu_del_nic(NICState *test);

 <E> <E> <_>WS( )
 <E> <E> <_>IDENT(void)
 <E> <V> <_>WS( )
 <E> <V> <_>FUNC(qemu_del_nic)
 <E> <V> <V>PAREN('(')
 <EV> <N> <_>IDENT(NICState)
 <EV> <V> <_>WS( )
 <EV> <V> <_>OPV(*)
 <EV> <N> <_>IDENT(test)
 <EV> <V> <_>PAREN(')') -> V
 <E> <V> <_>END(;)
 <E> <E> <_>WS(
)
10 > . void qemu_del_nic(NICState *test);
10 > EEVVVVVVVVVVVVVVVVVNVVVVVVVVVNVVVVVEE
10 >  ____________________________B_______
ERROR: spaces required around that '*' (ctx:WxV)
#10: FILE: include/net/net.h:136:
+void qemu_del_nic(NICState *test);
                            ^