Mercurial > projects > ldc
diff gen/functions.h @ 1364:46f6365a50d7
Added IrTypeFunction and IrTypeDelegate and eliminated IrDType. This means the Type::ir field can be removed. It's the final part needed for the move to a slightly more sane type system. Now the whole thing just needs to be cleaned up :P
Added -v-cg switch, which right now just prints "codegen: module.name (module/name.d)" to stdout, this can really help figuring out where, in some complex build command, things go wrong.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sat, 16 May 2009 18:19:52 +0200 |
parents | 9167d492cbc2 |
children | 207a8a438dea |
line wrap: on
line diff
--- a/gen/functions.h Sat May 16 14:22:23 2009 +0200 +++ b/gen/functions.h Sat May 16 18:19:52 2009 +0200 @@ -1,6 +1,18 @@ #ifndef LDC_GEN_FUNCTIONS_H #define LDC_GEN_FUNCTIONS_H +#include "mars.h" + +struct FuncDeclaration; +struct Type; + +struct IRAsmBlock; + +namespace llvm +{ + class Value; +} + const llvm::FunctionType* DtoFunctionType(Type* t, Type* thistype, Type* nesttype, bool ismain = false); const llvm::FunctionType* DtoFunctionType(FuncDeclaration* fdecl); @@ -14,6 +26,6 @@ void emitABIReturnAsmStmt(IRAsmBlock* asmblock, Loc loc, FuncDeclaration* fdecl); DValue* DtoArgument(Argument* fnarg, Expression* argexp); -void DtoVariadicArgument(Expression* argexp, LLValue* dst); +void DtoVariadicArgument(Expression* argexp, llvm::Value* dst); #endif