Top-level instructions now get NULL as their default type (since type is
irrelevant for things like ir_function), while ir_rvalues get error_type
by default.
This should make it easier to tell if we've forgotten to set a type. It
also fixes some "Conditional jump or move depends on uninitialized
value" errors in valgrind caused by ir_validate examining the type of
top level ir_instructions, which weren't set.
#include "ir_visitor.h"
#include "glsl_types.h"
+ir_rvalue::ir_rvalue()
+{
+ this->type = glsl_type::error_type;
+}
+
ir_assignment::ir_assignment(ir_rvalue *lhs, ir_rvalue *rhs,
ir_rvalue *condition)
{
ir_instruction()
{
ir_type = ir_type_unset;
+ type = NULL;
}
};
}
protected:
- ir_rvalue()
- {
- /* empty */
- }
+ ir_rvalue();
};