Mercurial > projects > ldc
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" |