comparison gen/tollvm.h @ 85:f869c636a113 trunk

[svn r89] Fixed a bunch of problems with template instance across multiple modules. Fixed initialization of function local static variables, with a non const initializer (now happens on first call using a global to make sure it only happens once.)
author lindquist
date Fri, 02 Nov 2007 06:32:32 +0100
parents d8dd47ef3973
children fd32135dca3e
comparison
equal deleted inserted replaced
84:169711a7126e 85:f869c636a113
32 32
33 void DtoCallClassDtors(TypeClass* tc, llvm::Value* instance); 33 void DtoCallClassDtors(TypeClass* tc, llvm::Value* instance);
34 void DtoInitClass(TypeClass* tc, llvm::Value* dst); 34 void DtoInitClass(TypeClass* tc, llvm::Value* dst);
35 35
36 llvm::Constant* DtoConstInitializer(Type* type, Initializer* init); 36 llvm::Constant* DtoConstInitializer(Type* type, Initializer* init);
37 void DtoInitializer(Initializer* init); 37 elem* DtoInitializer(Initializer* init);
38 38
39 llvm::Function* LLVM_DeclareMemSet32(); 39 llvm::Function* LLVM_DeclareMemSet32();
40 llvm::Function* LLVM_DeclareMemSet64(); 40 llvm::Function* LLVM_DeclareMemSet64();
41 llvm::Function* LLVM_DeclareMemCpy32(); 41 llvm::Function* LLVM_DeclareMemCpy32();
42 llvm::Function* LLVM_DeclareMemCpy64(); 42 llvm::Function* LLVM_DeclareMemCpy64();
66 66
67 void DtoMemCpy(llvm::Value* dst, llvm::Value* src, llvm::Value* nbytes); 67 void DtoMemCpy(llvm::Value* dst, llvm::Value* src, llvm::Value* nbytes);
68 68
69 llvm::Value* DtoIndexStruct(llvm::Value* ptr, StructDeclaration* sd, Type* t, unsigned os, std::vector<unsigned>& idxs); 69 llvm::Value* DtoIndexStruct(llvm::Value* ptr, StructDeclaration* sd, Type* t, unsigned os, std::vector<unsigned>& idxs);
70 70
71 bool DtoIsTemplateInstance(Dsymbol* s);
72
71 #include "enums.h" 73 #include "enums.h"