AST_NUM_OPERATORS stores the dimension of the ast_operators enumeration but was not updated after its last modification.
This doesn't add any real modification for any code paths but it makes sense for coherence. Signed-off-by: Andres Gomez <ago...@igalia.com> --- src/compiler/glsl/ast.h | 19 ++++++++++--------- src/compiler/glsl/ast_to_hir.cpp | 1 + 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/compiler/glsl/ast.h b/src/compiler/glsl/ast.h index 157895d..89f531c 100644 --- a/src/compiler/glsl/ast.h +++ b/src/compiler/glsl/ast.h @@ -198,9 +198,19 @@ enum ast_operators { ast_sequence, ast_aggregate + /** Update AST_NUM_OPERATORS if more are appended */ }; /** + * Number of possible operators for an ast_expression + * + * This is done as a define instead of as an additional value in the enum so + * that the compiler won't generate spurious messages like "warning: + * enumeration value ‘ast_num_operators’ not handled in switch" + */ +#define AST_NUM_OPERATORS (ast_aggregate + 1) + +/** * Representation of any sort of expression. */ class ast_expression : public ast_node { @@ -416,15 +426,6 @@ public: struct _mesa_glsl_parse_state *state); }; -/** - * Number of possible operators for an ast_expression - * - * This is done as a define instead of as an additional value in the enum so - * that the compiler won't generate spurious messages like "warning: - * enumeration value ‘ast_num_operators’ not handled in switch" - */ -#define AST_NUM_OPERATORS (ast_sequence + 1) - class ast_compound_statement : public ast_node { public: diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index d246745..ec12ff8 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -1351,6 +1351,7 @@ ast_expression::do_hir(exec_list *instructions, -1, /* ast_float_constant doesn't conv to ir_expression. */ -1, /* ast_bool_constant doesn't conv to ir_expression. */ -1, /* ast_sequence doesn't convert to ir_expression. */ + -1, /* ast_aggregate shouldn't ever even get here. */ }; ir_rvalue *result = NULL; ir_rvalue *op[3]; -- 2.8.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev