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