qemu-devel
[Top][All Lists]
Advanced

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

Re: Help wanted for enabling -Wshadow=local


From: Warner Losh
Subject: Re: Help wanted for enabling -Wshadow=local
Date: Mon, 25 Sep 2023 10:37:22 -0600



On Sat, Sep 23, 2023 at 6:33 AM Peter Maydell <peter.maydell@linaro.org> wrote:
On Fri, 22 Sept 2023 at 19:59, Warner Losh <imp@bsdimp.com> wrote:
> The third one, though, makes me ask the question: When should we
> pass in cpu_env to functions and when should we use the global value?
>
> I have a lot of changes that look like:
>
> -static inline abi_long do_freebsd_thr_exit(CPUArchState *cpu_env,
> +static inline abi_long do_freebsd_thr_exit(CPUArchState *env,
>          abi_ulong tid_addr)
>  {
> -    CPUState *cpu = env_cpu(cpu_env);
> +    CPUState *cpu = env_cpu(env);
>      TaskState *ts;
> ...
> <other cases of cpu_env -> env>
>
> Should I just drop the arg, or do the arg rename? Or "Gee, Warner,
> that really depends since it's context sensitive" in which case
> I'll just post a review to the list.

Is this the "extern TCGv_env cpu_env;" in tcg/tcg.h ?

Yes.
 
As a TCGv_env, that is only of any use in the TCG frontends,
not in the bsd-user/ or linux-user/ code. In fact almost
all of tcg/tcg.h is intended for the TCG frontends, so the
"ideal" solution to this would be to not include it in the
bsd-user code. This might mean figuring out what parts of
it need to be split out into different headers. (linux-user
also includes tcg/tcg.h.)

I saw your other changes, and I think that would be good for
bsd-user as well. I don't think we're using it anywhere directly.
 
However, this isn't necessary for the current effort, because
-Wshadow=local only warns about local-to-local shadowing,
not cases where a local shadows a global.

Yea, clang was having heartburn with -Wshadow=<anything> so
I had to run things with -Wshadow.

Warner
 
thanks
-- PMM

reply via email to

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