From: Ian Romanick Date: Thu, 29 Mar 2018 18:29:09 +0000 (-0700) Subject: intel/compiler: Explicitly cast register type in switch X-Git-Tag: upstream/18.1.0~355 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=81ed629b385af62bbac2d7975986ea7ad4ed2d1a;p=platform%2Fupstream%2Fmesa.git intel/compiler: Explicitly cast register type in switch 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 Reviewed-by: Matt Turner Reviewed-by: Brian Paul --- diff --git a/src/intel/compiler/brw_reg.h b/src/intel/compiler/brw_reg.h index afcd146..dff9b97 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;