> -----Original Message-----
> From: Philippe Mathieu-Daudé <phi...@linaro.org>
> Sent: Thursday, November 30, 2023 2:17 PM
> To: Taylor Simpson <ltaylorsimp...@gmail.com>; qemu-devel@nongnu.org
> Cc: Brian Cain <bc...@quicinc.com>; Matheus Bernardino (QUIC)
> <quic_mathb...@quicinc.com>; Sid Manning <sidn...@quicinc.com>; Marco
> Liebel (QUIC) <quic_mlie...@quicinc.com>; richard.hender...@linaro.org;
> a...@rev.ng; a...@rev.ng
> Subject: Re: [PATCH] Hexagon (target/hexagon) Fix shadow variable when idef-
> parser is off
> 
> WARNING: This email originated from outside of Qualcomm. Please be wary of
> any links or attachments, and do not enable macros.
> 
> On 30/11/23 19:39, Taylor Simpson wrote:
> > Adding -Werror=shadow=compatible-local causes Hexagon not to build
> > when idef-parser is off.  The "label" variable in CHECK_NOSHUF_PRED
> > shadows a variable in the surrounding code.
> >
> > Signed-off-by: Taylor Simpson <ltaylorsimp...@gmail.com>
> > ---
> >   target/hexagon/macros.h | 6 +++---
> >   1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/target/hexagon/macros.h b/target/hexagon/macros.h
> > index 9a51b5709b..f99390e2a8 100644
> > --- a/target/hexagon/macros.h
> > +++ b/target/hexagon/macros.h
> > @@ -93,13 +93,13 @@
> >
> >   #define CHECK_NOSHUF_PRED(GET_EA, SIZE, PRED) \
> >       do { \
> > -        TCGLabel *label = gen_new_label(); \
> > -        tcg_gen_brcondi_tl(TCG_COND_EQ, PRED, 0, label); \
> > +        TCGLabel *noshuf_label = gen_new_label(); \
> > +        tcg_gen_brcondi_tl(TCG_COND_EQ, PRED, 0, noshuf_label); \
> 
> Fragile, but sufficient.

The fragility here refers to the fact that CHECK_NOSHUF_PRED() macro could show 
up in other contexts and then could shadow those?

We could change the macro to a function or expand the macro to take a label 
declared outside.  Would that be preferred?  Or are there other suggestions?

-Brian

Reply via email to