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