qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator


From: Andreas Färber
Subject: Re: [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator
Date: Sat, 11 Feb 2012 12:28:32 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111220 Thunderbird/9.0

Am 11.02.2012 10:26, schrieb Blue Swirl:
> On Thu, Feb 9, 2012 at 15:30, Andreas Färber <address@hidden> wrote:
>> Hello Blue,
>>
>> I recently stumbled over the following checkpatch.pl false positive:
>>
>> --8<--
>>
>> --- a/hw/his.c
>> +++ b/hw/his.c
>> @@ -1,1 +1,1 @@
>> -    cpu_reset(CPUState *env);
>> +    cpu_state_reset(CPUState *env);
>>
>> --- a/hw/hers.c
>> +++ b/hw/hers.c
>> @@ -1,1 +1,1 @@
>> -    cpu_reset(CPUX86State *env);
>> +    cpu_state_reset(CPUX86State *env);
>>
>> --- a/hw/its.c
>> +++ b/hw/its.c
>> @@ -1,1 +1,1 @@
>> -cpu_reset(CPUState *env);
>> +cpu_state_reset(CPUState *env);
>>
>> --- a/hw/theirs.c
>> +++ b/hw/theirs.c
>> @@ -1,2 +1,2 @@
>>  typedef struct CPUState CPUState;
>> -cpu_reset(CPUState *env);
>> +cpu_state_reset(CPUState *env);
>>
>> --8<--
>>
>> results in:
>>
>>
>> ERROR: need consistent spacing around '*' (ctx:WxV)
>> #5: FILE: hw/his.c:1:
>> +    cpu_state_reset(CPUState *env);
>>                              ^
>>
>> ERROR: need consistent spacing around '*' (ctx:WxV)
>> #11: FILE: hw/hers.c:1:
>> +    cpu_state_reset(CPUX86State *env);
>>                                 ^
>>
>> ERROR: need consistent spacing around '*' (ctx:WxV)
>> #17: FILE: hw/its.c:1:
>> +cpu_state_reset(CPUState *env);
>>                          ^
>>
>> ERROR: need consistent spacing around '*' (ctx:WxV)
>> #24: FILE: hw/theirs.c:2:
>> +cpu_state_reset(CPUState *env);
>>                          ^
>>
>> total: 4 errors, 0 warnings, 9 lines checked
>>
>>
>> So, it seems to interpret the * symbol as multiplication rather than
>> pointer.
>>
>> Surprisingly, in my real code, using CPUState in place of CPUX86State
>> was actually able to remedy the ERROR but not in this simplified test
>> case. I added some prints around that place and it seems, in the working
>> CPUState case it didn't even enter the op checking code path.
>>
>> Any ideas?
> 
> IIRC Linux does not use typedefs much, so maybe typedefs combined with
> #defines confuse checkpatch.pl.
> 
> But I don't know why this case would be different to:
> typedef long long int64_t;
> #define off_t int64_t
> void func(off_t *e);

I don't think typedefs matter but there was a specific regex for *_t.

Andreas

> 
> Perhaps using a typedef in place of #define could help but I'd not
> make such a change just to silence checkpatch.
> 
>>
>> Regards,
>> Andreas
>>
>> --
>> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
>> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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