Mercurial > projects > ldc
diff dmd/aggregate.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 | 8026319762be |
line wrap: on
line diff
--- a/dmd/aggregate.h Thu Mar 26 20:45:53 2009 +0100 +++ b/dmd/aggregate.h Fri Mar 27 17:54:27 2009 +0100 @@ -140,11 +140,17 @@ PROT getAccess(Dsymbol *smember); // determine access to smember +#if IN_DMD void toObjFile(int multiobj); // compile to .obj file void toDt(dt_t **pdt); void toDebug(); // to symbolic debug info +#endif StructDeclaration *isStructDeclaration() { return this; } + +#if IN_LLVM + void codegen(Ir*); +#endif }; struct UnionDeclaration : StructDeclaration @@ -250,9 +256,9 @@ void addLocalClass(ClassDeclarations *); +#if IN_DMD // Back end void toObjFile(int multiobj); // compile to .obj file -#if IN_DMD void toDebug(); unsigned baseVtblOffset(BaseClass *bc); Symbol *toSymbol(); @@ -264,6 +270,10 @@ #endif ClassDeclaration *isClassDeclaration() { return (ClassDeclaration *)this; } + +#if IN_LLVM + virtual void codegen(Ir*); +#endif }; struct InterfaceDeclaration : ClassDeclaration @@ -283,12 +293,16 @@ #endif virtual int isCOMinterface(); +#if IN_DMD void toObjFile(int multiobj); // compile to .obj file -#if IN_DMD Symbol *toSymbol(); #endif InterfaceDeclaration *isInterfaceDeclaration() { return this; } + +#if IN_LLVM + void codegen(Ir*); +#endif }; #endif /* DMD_AGGREGATE_H */