From 778ce82b71c75d2c13f38b3504a4f18453330be2 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Tue, 9 Apr 2013 10:03:11 -0700 Subject: 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. --- src/glsl/ir_print_visitor.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/glsl/ir_print_visitor.cpp') diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp index fb0dd08..f01019c 100644 --- a/src/glsl/ir_print_visitor.cpp +++ b/src/glsl/ir_print_visitor.cpp @@ -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); -- cgit v1.1