All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator
@ 2012-02-09 15:30 Andreas Färber
  2012-02-11  9:26 ` Blue Swirl
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Färber @ 2012-02-09 15:30 UTC (permalink / raw)
  To: Blue Swirl; +Cc: Peter Maydell, qemu-devel Developers, Alexander Graf

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?

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator
  2012-02-09 15:30 [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator Andreas Färber
@ 2012-02-11  9:26 ` Blue Swirl
  2012-02-11 11:28   ` Andreas Färber
  0 siblings, 1 reply; 3+ messages in thread
From: Blue Swirl @ 2012-02-11  9:26 UTC (permalink / raw)
  To: Andreas Färber; +Cc: Peter Maydell, qemu-devel Developers, Alexander Graf

On Thu, Feb 9, 2012 at 15:30, Andreas Färber <afaerber@suse.de> 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);

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator
  2012-02-11  9:26 ` Blue Swirl
@ 2012-02-11 11:28   ` Andreas Färber
  0 siblings, 0 replies; 3+ messages in thread
From: Andreas Färber @ 2012-02-11 11:28 UTC (permalink / raw)
  To: Blue Swirl; +Cc: Peter Maydell, qemu-devel Developers, Alexander Graf

Am 11.02.2012 10:26, schrieb Blue Swirl:
> On Thu, Feb 9, 2012 at 15:30, Andreas Färber <afaerber@suse.de> 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-02-11 11:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-09 15:30 [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator Andreas Färber
2012-02-11  9:26 ` Blue Swirl
2012-02-11 11:28   ` Andreas Färber

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.