Mercurial > projects > ldc
diff gen/tollvm.h @ 40:8b0e809563df trunk
[svn r44] Lots of bug fixes.
New array literal support
New array ~= operator support (for single element)
New with statement support
More...
author | lindquist |
---|---|
date | Fri, 19 Oct 2007 07:43:21 +0200 |
parents | 4648206ca213 |
children | 6fcc08a4d406 |
line wrap: on
line diff
--- a/gen/tollvm.h Wed Oct 10 06:21:31 2007 +0200 +++ b/gen/tollvm.h Fri Oct 19 07:43:21 2007 +0200 @@ -3,11 +3,13 @@ struct StructInitializer; const llvm::Type* LLVM_DtoType(Type* t); +bool LLVM_DtoIsPassedByRef(Type* type); +Type* LLVM_DtoDType(Type* t); const llvm::Type* LLVM_DtoStructType(Type* t); llvm::Value* LLVM_DtoStructZeroInit(TypeStruct* t, llvm::Value* v); llvm::Value* LLVM_DtoStructCopy(TypeStruct* t, llvm::Value* dst, llvm::Value* src); -llvm::Constant* LLVM_DtoStructInitializer(StructInitializer* si); +llvm::Constant* LLVM_DtoConstStructInitializer(StructInitializer* si); const llvm::FunctionType* LLVM_DtoFunctionType(Type* t, const llvm::Type* thisparam = 0); const llvm::FunctionType* LLVM_DtoFunctionType(FuncDeclaration* fdecl); @@ -30,7 +32,8 @@ void LLVM_DtoCallClassDtors(TypeClass* tc, llvm::Value* instance); void LLVM_DtoInitClass(TypeClass* tc, llvm::Value* dst); -llvm::Constant* LLVM_DtoInitializer(Type* type, Initializer* init); +llvm::Constant* LLVM_DtoConstInitializer(Type* type, Initializer* init); +void LLVM_DtoInitializer(Initializer* init); llvm::Function* LLVM_DeclareMemSet32(); llvm::Function* LLVM_DeclareMemSet64(); @@ -49,4 +52,6 @@ void LLVM_DtoAssert(llvm::Value* cond, llvm::Value* loc, llvm::Value* msg); +llvm::Value* LLVM_DtoArgument(const llvm::Type* paramtype, Argument* fnarg, Expression* argexp); + #include "enums.h"