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

2012-02-11 Thread Blue Swirl
On Thu, Feb 9, 2012 at 15:30, Andreas Färber afaer...@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



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

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



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

2012-02-09 Thread Andreas Färber
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