Mercurial > projects > ldc
comparison dmd/dsymbol.h @ 1147:dbe4af57b240
Changed use of toObjFile to a new codegen method.
More versioning of DMD specific codegen code.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Fri, 27 Mar 2009 17:54:27 +0100 |
parents | 1860414bf3b7 |
children | 46f6365a50d7 |
comparison
equal
deleted
inserted
replaced
1146:1860414bf3b7 | 1147:dbe4af57b240 |
---|---|
82 struct TYPE; | 82 struct TYPE; |
83 #endif | 83 #endif |
84 | 84 |
85 // llvm | 85 // llvm |
86 #if IN_LLVM | 86 #if IN_LLVM |
87 struct Ir; | |
88 struct IrSymbol; | |
87 namespace llvm | 89 namespace llvm |
88 { | 90 { |
89 class Value; | 91 class Value; |
90 } | 92 } |
91 #endif | 93 #endif |
178 | 180 |
179 #if IN_DMD | 181 #if IN_DMD |
180 // Backend | 182 // Backend |
181 | 183 |
182 virtual Symbol *toSymbol(); // to backend symbol | 184 virtual Symbol *toSymbol(); // to backend symbol |
183 #endif | |
184 virtual void toObjFile(int multiobj); // compile to .obj file | 185 virtual void toObjFile(int multiobj); // compile to .obj file |
185 #if IN_DMD | |
186 virtual int cvMember(unsigned char *p); // emit cv debug info for member | 186 virtual int cvMember(unsigned char *p); // emit cv debug info for member |
187 | 187 |
188 Symbol *toImport(); // to backend import symbol | 188 Symbol *toImport(); // to backend import symbol |
189 static Symbol *toImport(Symbol *s); // to backend import symbol | 189 static Symbol *toImport(Symbol *s); // to backend import symbol |
190 | 190 |
230 virtual AttribDeclaration *isAttribDeclaration() { return NULL; } | 230 virtual AttribDeclaration *isAttribDeclaration() { return NULL; } |
231 virtual TypeInfoDeclaration* isTypeInfoDeclaration() { return NULL; } | 231 virtual TypeInfoDeclaration* isTypeInfoDeclaration() { return NULL; } |
232 virtual ClassInfoDeclaration* isClassInfoDeclaration() { return NULL; } | 232 virtual ClassInfoDeclaration* isClassInfoDeclaration() { return NULL; } |
233 | 233 |
234 #if IN_LLVM | 234 #if IN_LLVM |
235 /// Codegen traversal | |
236 virtual void codegen(Ir* ir); | |
237 | |
235 // llvm stuff | 238 // llvm stuff |
236 int llvmInternal; | 239 int llvmInternal; |
237 | 240 |
238 IrDsymbol ir; | 241 IrDsymbol ir; |
242 IrSymbol* irsym; | |
239 #endif | 243 #endif |
240 }; | 244 }; |
241 | 245 |
242 // Dsymbol that generates a scope | 246 // Dsymbol that generates a scope |
243 | 247 |