comparison gen/irstate.h @ 334:20446d22f832 trunk

[svn r355] Get rid of IRState::exps and topexp.
author ChristianK
date Sat, 12 Jul 2008 15:43:13 +0200
parents 0d52412d5b1a
children f7259fa1349c
comparison
equal deleted inserted replaced
333:f7190d9eb70c 334:20446d22f832
57 { 57 {
58 IRState* state; 58 IRState* state;
59 IRBuilder* operator->(); 59 IRBuilder* operator->();
60 }; 60 };
61 61
62 struct IRExp
63 {
64 Expression* e1;
65 Expression* e2;
66 DValue* v;
67 IRExp();
68 IRExp(Expression* l, Expression* r, DValue* val);
69 };
70
71 struct IRAsmStmt 62 struct IRAsmStmt
72 { 63 {
73 std::string code; 64 std::string code;
74 std::string out_c; 65 std::string out_c;
75 std::string in_c; 66 std::string in_c;
158 ClassDeclVec classes; 149 ClassDeclVec classes;
159 150
160 // D main function 151 // D main function
161 bool emitMain; 152 bool emitMain;
162 llvm::Function* mainFunc; 153 llvm::Function* mainFunc;
163
164 // expression l/r value handling
165 typedef std::vector<IRExp> ExpVec;
166 ExpVec exps;
167 IRExp* topexp();
168 154
169 // basic block scopes 155 // basic block scopes
170 std::vector<IRScope> scopes; 156 std::vector<IRScope> scopes;
171 IRScope& scope(); 157 IRScope& scope();
172 llvm::BasicBlock* scopebb(); 158 llvm::BasicBlock* scopebb();