[Mesa-dev] [PATCH] intel/compiler: Explicitly cast register type in switch
Brian Paul
brianp at vmware.com
Thu Mar 29 18:47:52 UTC 2018
On 03/29/2018 12:32 PM, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> brw_reg::type is "enum brw_reg_type type:4". For whatever reason, GCC
> is treating this as an int instead of an enum. As a result, it doesn't
> detect missing switch cases and it doesn't detect that flow can get out
> of the switch.
>
> This silences the warning:
>
> src/intel/compiler/brw_reg.h: In function ‘bool brw_regs_negative_equal(const brw_reg*, const brw_reg*)’:
> src/intel/compiler/brw_reg.h:305:1: warning: control reaches end of non-void function [-Wreturn-type]
> }
> ^
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
> src/intel/compiler/brw_reg.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/intel/compiler/brw_reg.h b/src/intel/compiler/brw_reg.h
> index 68158cc0cc8..62f76ac0fe0 100644
> --- a/src/intel/compiler/brw_reg.h
> +++ b/src/intel/compiler/brw_reg.h
> @@ -262,7 +262,7 @@ brw_regs_negative_equal(const struct brw_reg *a, const struct brw_reg *b)
> if (a->bits != b->bits)
> return false;
>
> - switch (a->type) {
> + switch ((enum brw_reg_type) a->type) {
> case BRW_REGISTER_TYPE_UQ:
> case BRW_REGISTER_TYPE_Q:
> return a->d64 == -b->d64;
>
Reviewed-by: Brian Paul <brianp at vmware.com>
Thanks.
More information about the mesa-dev
mailing list