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 {