Re: [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator
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
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
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