Add ir_loop to represent loops
This touches a lot of files because everything derived from ir_visitor
has to be updated. This is the primary disadvantage of the visitor pattern.
diff --git a/ir_constant_expression.cpp b/ir_constant_expression.cpp
index e1073cd..a94b0fc 100644
--- a/ir_constant_expression.cpp
+++ b/ir_constant_expression.cpp
@@ -74,6 +74,7 @@
virtual void visit(ir_call *);
virtual void visit(ir_return *);
virtual void visit(ir_if *);
+ virtual void visit(ir_loop *);
/*@}*/
/**
@@ -464,3 +465,11 @@
(void) ir;
value = NULL;
}
+
+
+void
+ir_constant_visitor::visit(ir_loop *ir)
+{
+ (void) ir;
+ value = NULL;
+}