nir: don't segfault when printing variables with no name

While normally we give variables whose name field is NULL a temporary
name when called from nir_print_shader(), when we were calling from
nir_print_instr() we never bothered, meaning that we just segfaulted
when trying to print out instructions with such a variable. Since
nir_print_instr() is meant to be called while debugging, we don't need
to bother too much about giving a consistent name, but we don't want to
crash in the middle of debugging.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Connor Abbott
2017-06-26 17:07:21 -07:00
parent add72599d9
commit 99ff7a9f1f

View File

@@ -257,7 +257,7 @@ static const char *
get_var_name(nir_variable *var, print_state *state)
{
if (state->ht == NULL)
return var->name;
return var->name ? var->name : "unnamed";
assert(state->syms);