[Mesa-dev] [PATCH] nir: fix warning in nir_lower_io.c
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Tue Jan 8 17:38:09 UTC 2019
On 08/01/2019 17:33, Caio Marcelo de Oliveira Filho wrote:
> Add unreachable case for invalid deref type. Fixes the warning below
>
> In file included from ../src/compiler/nir/nir_lower_io.c:34:
> ../src/compiler/nir/nir_lower_io.c: In function ‘nir_lower_explicit_io’:
> ../src/compiler/nir/nir.h:668:11: warning: ‘addr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> return src;
> ^~~
> ../src/compiler/nir/nir_lower_io.c:735:17: note: ‘addr’ was declared here
> nir_ssa_def *addr;
> ^~~~
> ---
> src/compiler/nir/nir_lower_io.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c
> index bcbfebdfa3b..4a322da609e 100644
> --- a/src/compiler/nir/nir_lower_io.c
> +++ b/src/compiler/nir/nir_lower_io.c
> @@ -783,6 +783,10 @@ lower_explicit_io_deref(nir_builder *b, nir_deref_instr *deref,
> /* Nothing to do here */
> addr = parent_addr;
> break;
> +
> + default:
> + unreachable("Invalid deref type");
> + break;
Just a thought, but you could rather set the addr variable to NULL
before the switch so that if a new deref type is ever added, the
compiler can find all the places we need to update.
-
Lionel
> }
>
> nir_instr_remove(&deref->instr);
More information about the mesa-dev
mailing list