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: Blue Swirl
Subject: Re: [Qemu-devel] [BUG] checkpatch: ERROR due to * recognized as operator
Date: Sat, 11 Feb 2012 09:26:40 +0000

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);

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



reply via email to

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