nir: Constant fold array indirects
[mesa.git] / src / glsl / ir_visitor.h
index 7dd35fe1dc3aef8a286248442be8a12b7e2ab230..40f96ffbca0384a7673396fdf7386be163f78a61 100644 (file)
@@ -26,6 +26,7 @@
 #ifndef IR_VISITOR_H
 #define IR_VISITOR_H
 
+#ifdef __cplusplus
 /**
  * Abstract base class of visitors of IR instruction trees
  */
@@ -44,6 +45,7 @@ public:
     * the hierarchy should not have \c visit methods.
     */
    /*@{*/
+   virtual void visit(class ir_rvalue *) { assert(!"unhandled error_type"); }
    virtual void visit(class ir_variable *) = 0;
    virtual void visit(class ir_function_signature *) = 0;
    virtual void visit(class ir_function *) = 0;
@@ -61,6 +63,8 @@ public:
    virtual void visit(class ir_if *) = 0;
    virtual void visit(class ir_loop *) = 0;
    virtual void visit(class ir_loop_jump *) = 0;
+   virtual void visit(class ir_emit_vertex *) = 0;
+   virtual void visit(class ir_end_primitive *) = 0;
    /*@}*/
 };
 
@@ -79,6 +83,9 @@ public:
    virtual void visit(class ir_assignment *) {}
    virtual void visit(class ir_constant *) {}
    virtual void visit(class ir_call *) {}
+   virtual void visit(class ir_emit_vertex *) {}
+   virtual void visit(class ir_end_primitive *) {}
 };
+#endif /* __cplusplus */
 
 #endif /* IR_VISITOR_H */