glsl: Check the size of ir_print_visitor's mode[] array with STATIC_ASSERT.

ir_print_visitor::visit(ir_variable *)'s mode[] array needs to match
the declaration of the enum ir_variable_mode.  It's hard to verify
that at compile time, but at least we can use a STATIC_ASSERT to make
sure it's the right size.

This required adding ir_var_mode_count to the enum.
This commit is contained in:
Paul Berry
2013-04-09 10:03:11 -07:00
parent 67f226e179
commit 778ce82b71
2 changed files with 3 additions and 1 deletions

View File

@@ -150,6 +150,7 @@ void ir_print_visitor::visit(ir_variable *ir)
const char *const mode[] = { "", "uniform ", "shader_in ", "shader_out ",
"in ", "out ", "inout ",
"const_in ", "sys ", "temporary " };
STATIC_ASSERT(ARRAY_SIZE(mode) == ir_var_mode_count);
const char *const interp[] = { "", "smooth", "flat", "noperspective" };
STATIC_ASSERT(ARRAY_SIZE(interp) == INTERP_QUALIFIER_COUNT);