On 30/11/23 21:39, Brian Cain wrote:
-----Original Message-----
From: Philippe Mathieu-Daudé <[email protected]>
Sent: Thursday, November 30, 2023 2:17 PM
To: Taylor Simpson <[email protected]>; [email protected]
Cc: Brian Cain <[email protected]>; Matheus Bernardino (QUIC)
<[email protected]>; Sid Manning <[email protected]>; Marco
Liebel (QUIC) <[email protected]>; [email protected];
[email protected]; [email protected]
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 <[email protected]>
---
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?
Yes.
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?
Nah, this is good enough, no need to over-engineer IMHO
(I just wanted to remark this could still bit us in the
future, and -Werror will fire).
Regards,
Phil.