All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"Daniel P . Berrange" <berrange@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Su Hang" <suhang16@mails.ucas.ac.cn>,
	"Pasi Savanainen" <pasi.savanainen@nixu.com>,
	"Lluís Vilanova" <vilanova@ac.upc.edu>,
	"Vladimir Sementsov-Ogievskiy" <vsementsov@virtuozzo.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: Joe Perches <joe@perches.com>, Stefan Weil <sw@weilnetz.de>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v5 04/46] checkpatch: Recognize IEC binary prefix definitions
Date: Fri, 29 Jun 2018 15:41:58 -0500	[thread overview]
Message-ID: <9a30c2d7-b6b7-c6e9-1c70-0fd4a90bca0c@redhat.com> (raw)
In-Reply-To: <20180625124238.25339-5-f4bug@amsat.org>

On 06/25/2018 07:41 AM, Philippe Mathieu-Daudé wrote:
> Do not match the IEC binary prefix as camelcase typedefs.
> 
> 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(+)

Warning - my perl regex-fu is weak; but I'll give this a shot.

> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index e3d8c2cdfc..223681bfd0 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -242,6 +242,7 @@ our $UTF8	= qr{
>   # There are still some false positives, but this catches most
>   # common cases.
>   our $typeTypedefs = qr{(?x:
> +        (?![KMGTPE]iB)                      # IEC binary prefix (do not match)

I had to (re-)read 'perldoc perlretut', but found what I was looking 
for.  You are adding a zero-length negated lookahead assertion that 
anything matching the pattern [KMGTPE]iB is not matched to the rest of 
the regex.

>           [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

and the rest of this regex is picking out any sequence that the code 
should treat as a typedef.  Ergo, with your negative lookahead, we are 
no longer treating the numeric mixed-case constants as typedefs, and the 
rest of the script that warns on formatting issues where a typedef 
appears to be used with a '*' for creating a pointer no longer trigger.

Since that's enough to shut up the false positives you were seeing, then 
it looks right to me.

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

  reply	other threads:[~2018-06-29 20:42 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-25 12:41 [Qemu-devel] [PATCH v5 00/46] Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-25 12:41 ` [Qemu-devel] [PATCH v5 01/46] include: Add IEC binary prefixes in "qemu/units.h" Philippe Mathieu-Daudé
2018-06-27  5:48   ` Richard Henderson
2018-06-27 11:27   ` Igor Mammedov
2018-06-27 12:26     ` Eric Blake
2018-06-28 22:53       ` Philippe Mathieu-Daudé
2018-06-29 12:19         ` Eric Blake
2018-06-29 14:49           ` Philippe Mathieu-Daudé
2018-06-29 15:02             ` Daniel P. Berrangé
2018-06-29 17:03               ` Eric Blake
2018-06-25 12:41 ` [Qemu-devel] [PATCH v5 02/46] vdi: Use definitions from "qemu/units.h" Philippe Mathieu-Daudé
2018-06-27  5:48   ` Richard Henderson
2018-06-25 12:41 ` [Qemu-devel] [PATCH v5 03/46] x86/cpu: " Philippe Mathieu-Daudé
2018-06-27  5:49   ` Richard Henderson
2018-06-25 12:41 ` [Qemu-devel] [PATCH v5 04/46] checkpatch: Recognize IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-29 20:41   ` Eric Blake [this message]
2018-06-29 21:46     ` Joe Perches
2018-07-02 12:37       ` Paolo Bonzini
2018-07-02 14:45         ` Joe Perches
2018-06-25 12:41 ` [Qemu-devel] [PATCH v5 05/46] hw: Use IEC binary prefix definitions from "qemu/units.h" Philippe Mathieu-Daudé
2018-06-27  5:57   ` Richard Henderson
2018-06-25 12:41 ` [Qemu-devel] [PATCH v5 06/46] hw: Directly use "qemu/units.h" instead of "qemu/cutils.h" Philippe Mathieu-Daudé
2018-06-27  6:04   ` Richard Henderson
2018-06-25 12:41 ` [Qemu-devel] [PATCH v5 07/46] hw/ivshmem: Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 08/46] hw/ipack: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 09/46] hw/scsi: " Philippe Mathieu-Daudé
2018-06-27  6:05   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 10/46] hw/smbios: " Philippe Mathieu-Daudé
2018-06-27  6:09   ` Richard Henderson
2018-06-27 14:03   ` Igor Mammedov
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 11/46] hw/xen: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 12/46] hw/tpm: " Philippe Mathieu-Daudé
2018-06-27 11:24   ` Igor Mammedov
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 13/46] hw/block: " Philippe Mathieu-Daudé
2018-06-27  6:12   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 14/46] hw/display: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 15/46] hw/misc: " Philippe Mathieu-Daudé
2018-06-27  6:13   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 16/46] hw/riscv: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 17/46] hw/m68k: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 18/46] hw/sparc: " Philippe Mathieu-Daudé
2018-06-27  6:14   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 19/46] hw/s390x: " Philippe Mathieu-Daudé
2018-06-25 13:07   ` Cornelia Huck
2018-06-25 13:16     ` David Hildenbrand
2018-06-25 14:21       ` Cornelia Huck
2018-06-25 13:19     ` Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 21/46] hw/xtensa: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 22/46] hw/alpha: " Philippe Mathieu-Daudé
2018-06-27  6:18   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 23/46] hw/tricore: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 24/46] hw/microblaze: " Philippe Mathieu-Daudé
2018-06-27  6:19   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 25/46] hw/nios2: " Philippe Mathieu-Daudé
2018-06-27  6:59   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 26/46] hw/cris: " Philippe Mathieu-Daudé
2018-06-27  6:59   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 27/46] hw/lm32: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 28/46] hw/sh4: " Philippe Mathieu-Daudé
2018-06-27  7:00   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 29/46] hw/mips/r4k: Constify params_size Philippe Mathieu-Daudé
2018-06-27 13:48   ` Thomas Huth
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 30/46] hw/mips: Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 32/46] hw/ppc: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 34/46] hw/net: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 35/46] hw/usb: " Philippe Mathieu-Daudé
2018-06-27  7:04   ` Richard Henderson
2018-06-27 13:03     ` Philippe Mathieu-Daudé
2018-06-27 13:47       ` Richard Henderson
2018-06-27 14:43         ` Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 36/46] hw/sd: " Philippe Mathieu-Daudé
2018-06-27  7:19   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 37/46] hw/vfio: " Philippe Mathieu-Daudé
2018-06-27  7:26   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 38/46] hw/virtio: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 39/46] hw/rdma: " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 40/46] cutils: Do not include "qemu/units.h" directly Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 41/46] hw/ppc: Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-26  0:48   ` David Gibson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 42/46] monitor: " Philippe Mathieu-Daudé
2018-06-27 14:39   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 43/46] vl: " Philippe Mathieu-Daudé
2018-06-27 14:40   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 44/46] tests/crypto: " Philippe Mathieu-Daudé
2018-06-27 14:41   ` Richard Henderson
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 45/46] linux-user: " Philippe Mathieu-Daudé
2018-06-27 14:42   ` Richard Henderson
2018-06-27 18:50   ` Laurent Vivier
2018-06-25 12:42 ` [Qemu-devel] [PATCH v5 46/46] bsd-user: " Philippe Mathieu-Daudé
2018-06-27 14:42   ` Richard Henderson
2018-06-26  1:08 ` [Qemu-devel] [PATCH v5 00/46] " Michael S. Tsirkin
     [not found] ` <20180625124238.25339-34-f4bug@amsat.org>
2018-06-27 14:01   ` [Qemu-devel] [PATCH v5 33/46] hw/i386: " Igor Mammedov
2018-06-29 14:08 ` [Qemu-devel] [Qemu-block] [PATCH v5 00/46] " Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9a30c2d7-b6b7-c6e9-1c70-0fd4a90bca0c@redhat.com \
    --to=eblake@redhat.com \
    --cc=berrange@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=joe@perches.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pasi.savanainen@nixu.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=suhang16@mails.ucas.ac.cn \
    --cc=sw@weilnetz.de \
    --cc=thuth@redhat.com \
    --cc=vilanova@ac.upc.edu \
    --cc=vsementsov@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.