Mercurial > projects > ldc
comparison gen/irstate.h @ 86:fd32135dca3e trunk
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
Lots of bugfixes.
Added support for special foreach on strings.
Added std.array, std.utf, std.ctype and std.uni to phobos.
Changed all the .c files in the gen dir to .cpp (it *is* C++ after all)
author | lindquist |
---|---|
date | Sat, 03 Nov 2007 14:44:58 +0100 |
parents | d8dd47ef3973 |
children | 61615fa85940 |
comparison
equal
deleted
inserted
replaced
85:f869c636a113 | 86:fd32135dca3e |
---|---|
99 | 99 |
100 struct IRExp | 100 struct IRExp |
101 { | 101 { |
102 Expression* e1; | 102 Expression* e1; |
103 Expression* e2; | 103 Expression* e2; |
104 llvm::Value* v; | 104 DValue* v; |
105 IRExp(); | 105 IRExp(); |
106 IRExp(Expression* l, Expression* r, llvm::Value* val); | 106 IRExp(Expression* l, Expression* r, DValue* val); |
107 }; | 107 }; |
108 | 108 |
109 // represents the module | 109 // represents the module |
110 struct IRState | 110 struct IRState |
111 { | 111 { |
156 | 156 |
157 // this holds the array being indexed or sliced so $ will work | 157 // this holds the array being indexed or sliced so $ will work |
158 // might be a better way but it works. problem is I only get a | 158 // might be a better way but it works. problem is I only get a |
159 // VarDeclaration for __dollar, but I can't see how to get the | 159 // VarDeclaration for __dollar, but I can't see how to get the |
160 // array pointer from this :( | 160 // array pointer from this :( |
161 std::vector<llvm::Value*> arrays; | 161 std::vector<DValue*> arrays; |
162 | 162 |
163 // builder helper | 163 // builder helper |
164 IRBuilderHelper ir; | 164 IRBuilderHelper ir; |
165 | 165 |
166 // Dwarf debugging info | 166 // Dwarf debugging info |