[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