Mercurial > projects > ldc
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(); |