diff 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
line wrap: on
line diff
--- a/dmd/dsymbol.h	Thu Mar 26 20:45:53 2009 +0100
+++ b/dmd/dsymbol.h	Fri Mar 27 17:54:27 2009 +0100
@@ -84,6 +84,8 @@
 
 // llvm
 #if IN_LLVM
+struct Ir;
+struct IrSymbol;
 namespace llvm
 {
     class Value;
@@ -180,9 +182,7 @@
     // Backend
 
     virtual Symbol *toSymbol();			// to backend symbol
-#endif
     virtual void toObjFile(int multiobj);			// compile to .obj file
-#if IN_DMD
     virtual int cvMember(unsigned char *p);	// emit cv debug info for member
 
     Symbol *toImport();				// to backend import symbol
@@ -232,10 +232,14 @@
     virtual ClassInfoDeclaration* isClassInfoDeclaration() { return NULL; }
 
 #if IN_LLVM
+    /// Codegen traversal
+    virtual void codegen(Ir* ir);
+
     // llvm stuff
     int llvmInternal;
 
     IrDsymbol ir;
+    IrSymbol* irsym;
 #endif
 };