diff ir/ir.h @ 1148:3d1b16dabd25

Eliminated the need for resolve, declare, const-init and define lists to drive code generation.
author Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
date Fri, 27 Mar 2009 21:50:32 +0100
parents dbe4af57b240
children 46f6365a50d7
line wrap: on
line diff
--- a/ir/ir.h	Fri Mar 27 17:54:27 2009 +0100
+++ b/ir/ir.h	Fri Mar 27 21:50:32 2009 +0100
@@ -3,10 +3,13 @@
 #ifndef LDC_IR_IR_H
 #define LDC_IR_IR_H
 
+#include <deque>
+
 #include "ir/irforw.h"
 #include "root.h"
 
 struct IRState;
+struct IrFunction;
 
 struct IrBase : Object
 {
@@ -15,13 +18,18 @@
 
 struct Ir
 {
-    Ir() : irs(NULL) {}
+    Ir();
 
     void setState(IRState* p)   { irs = p; }
     IRState* getState()         { return irs; }
 
+    void addFunctionBody(IrFunction* f);
+    void emitFunctionBodies();
+
 private:
     IRState* irs;
+
+    std::deque<IrFunction*> functionbodies;
 };
 
 #endif