qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] checkpatch: Eliminate false positive in cas


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 2/2] checkpatch: Eliminate false positive in case of space before square bracket in a definition
Date: Thu, 29 Oct 2015 10:13:06 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 10/29/2015 03:48 AM, Leonid Bloch wrote:
> Now, macro definition such as "#define abc(x) [x] = y" should pass
> without an error.

Do we even have macros like that? Without context, it seems like that
macro definition is under-parenthesized, and that you wouldn't want to
use abc(x) in an arbitrary expression for fear of precedence rules
causing nasty surprises.

> 
> Signed-off-by: Leonid Bloch <address@hidden>
> ---
>  scripts/checkpatch.pl | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 455d94b..e7d9cce 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1716,11 +1716,13 @@ sub process {
>  #  2. at the beginning of a line for slice initialisers -- [0...10] = 5,
>  #  3. inside a curly brace -- = { [0...10] = 5 }
>  #  4. after a comma -- [1] = 5, [2] = 6
> +#  5. in a macro definition -- #define abc(x) [x] = y
>               while ($line =~ /(.*?\s)\[/g) {
>                       my ($where, $prefix) = ($-[1], $1);
>                       if ($prefix !~ /$Type\s+$/ &&
>                           ($where != 0 || $prefix !~ /^.\s+$/) &&
>                           $prefix !~ /{\s+$/ &&
> +                         $prefix !~ /\#\s*define[^(]*\([^)]*\)\s+$/ &&
>                           $prefix !~ /,\s+$/) {
>                               ERROR("space prohibited before open square 
> bracket '['\n" . $herecurr);
>                       }
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]