From: Kenneth Graunke Date: Mon, 12 Jul 2010 20:55:10 +0000 (-0700) Subject: glsl2: Move constant_expression_value method to ir_rvalue. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e340854115f2562109c91fa908ffe6628432f989;p=mesa.git glsl2: Move constant_expression_value method to ir_rvalue. This prevents top-level callers from asking for the value of something that is guaranteed not to have one. --- diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 1d667be89c0..b6cd1bae31c 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -71,8 +71,6 @@ public: enum ir_node_type ir_type; const struct glsl_type *type; - class ir_constant *constant_expression_value(); - /** ir_print_visitor helper for debugging. */ void print(void) const; @@ -114,6 +112,8 @@ protected: class ir_rvalue : public ir_instruction { public: + class ir_constant *constant_expression_value(); + virtual ir_rvalue *clone(struct hash_table *) const = 0; virtual ir_rvalue * as_rvalue() diff --git a/src/glsl/ir_constant_expression.cpp b/src/glsl/ir_constant_expression.cpp index ca834978f47..44f4a642099 100644 --- a/src/glsl/ir_constant_expression.cpp +++ b/src/glsl/ir_constant_expression.cpp @@ -96,7 +96,7 @@ public: ir_constant * -ir_instruction::constant_expression_value() +ir_rvalue::constant_expression_value() { ir_constant_visitor visitor;