Mercurial > projects > ldc
comparison dmd/module.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 |
---|---|
26 struct VarDeclaration; | 26 struct VarDeclaration; |
27 struct Library; | 27 struct Library; |
28 | 28 |
29 // Back end | 29 // Back end |
30 #if IN_LLVM | 30 #if IN_LLVM |
31 struct Ir; | |
31 struct DValue; | 32 struct DValue; |
32 typedef DValue elem; | 33 typedef DValue elem; |
33 namespace llvm { class Module; } | 34 namespace llvm { class Module; } |
34 #else | 35 #else |
35 | 36 |
173 | 174 |
174 Symbol *toSymbol(); | 175 Symbol *toSymbol(); |
175 #endif | 176 #endif |
176 void genmoduleinfo(); | 177 void genmoduleinfo(); |
177 | 178 |
179 #if IN_LLVM | |
178 // LDC | 180 // LDC |
179 llvm::Module* genLLVMModule(int multiobj); | 181 llvm::Module* genLLVMModule(Ir* sir); |
180 void buildTargetFiles(); | 182 void buildTargetFiles(); |
181 File* buildFilePath(const char* forcename, const char* path, const char* ext); | 183 File* buildFilePath(const char* forcename, const char* path, const char* ext); |
182 Module *isModule() { return this; } | 184 Module *isModule() { return this; } |
183 | 185 |
184 bool llvmForceLogging; | 186 bool llvmForceLogging; |
185 | 187 |
186 // array ops emitted in this module already | 188 // array ops emitted in this module already |
187 StringTable arrayfuncs; | 189 StringTable arrayfuncs; |
190 #endif | |
188 }; | 191 }; |
189 | 192 |
190 | 193 |
191 struct ModuleDeclaration | 194 struct ModuleDeclaration |
192 { | 195 { |