[Mesa-dev] [PATCH] ast: Updated AST_NUM_OPERATORS for coherence with ast_operators
Andres Gomez
agomez at igalia.com
Sun Jul 31 16:07:34 UTC 2016
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 <agomez at 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
More information about the mesa-dev
mailing list