Mercurial > projects > ldc
comparison gen/classes.h @ 213:7816aafeea3c trunk
[svn r229] Updated the object.d implementation to the latest Tango.
Fixed a bunch of the built-in typeinfos for arrays, they did not inherit TypeInfo_Array.
Applied patch to tango/text/convert/Layout.d by fvbommel, closes #47 .
Cleaned up some type code.
Replaced uses of llvm::Type with LLType (a typedef), same for Value and Constant.
Fixed a few cases where typeinfo for user structs could be emitted multiple times, seems to still be some cases of this :/
author | lindquist |
---|---|
date | Fri, 30 May 2008 19:32:04 +0200 |
parents | 1d6cfdbc97f0 |
children | 0806379a5eca |
comparison
equal
deleted
inserted
replaced
212:4c2689d57ba4 | 213:7816aafeea3c |
---|---|
23 | 23 |
24 void DtoDeclareClassInfo(ClassDeclaration* cd); | 24 void DtoDeclareClassInfo(ClassDeclaration* cd); |
25 void DtoDefineClassInfo(ClassDeclaration* cd); | 25 void DtoDefineClassInfo(ClassDeclaration* cd); |
26 | 26 |
27 DValue* DtoNewClass(TypeClass* type, NewExp* newexp); | 27 DValue* DtoNewClass(TypeClass* type, NewExp* newexp); |
28 void DtoInitClass(TypeClass* tc, llvm::Value* dst); | 28 void DtoInitClass(TypeClass* tc, LLValue* dst); |
29 DValue* DtoCallClassCtor(TypeClass* type, CtorDeclaration* ctor, Array* arguments, llvm::Value* mem); | 29 DValue* DtoCallClassCtor(TypeClass* type, CtorDeclaration* ctor, Array* arguments, LLValue* mem); |
30 void DtoFinalizeClass(llvm::Value* inst); | 30 void DtoFinalizeClass(LLValue* inst); |
31 | 31 |
32 DValue* DtoCastClass(DValue* val, Type* to); | 32 DValue* DtoCastClass(DValue* val, Type* to); |
33 DValue* DtoDynamicCastObject(DValue* val, Type* to); | 33 DValue* DtoDynamicCastObject(DValue* val, Type* to); |
34 | 34 |
35 DValue* DtoCastInterfaceToObject(DValue* val, Type* to); | 35 DValue* DtoCastInterfaceToObject(DValue* val, Type* to); |
36 DValue* DtoDynamicCastInterface(DValue* val, Type* to); | 36 DValue* DtoDynamicCastInterface(DValue* val, Type* to); |
37 | 37 |
38 llvm::Value* DtoIndexClass(llvm::Value* ptr, ClassDeclaration* cd, Type* t, unsigned os, std::vector<unsigned>& idxs); | 38 LLValue* DtoIndexClass(LLValue* ptr, ClassDeclaration* cd, Type* t, unsigned os, std::vector<unsigned>& idxs); |
39 | 39 |
40 llvm::Value* DtoVirtualFunctionPointer(DValue* inst, FuncDeclaration* fdecl); | 40 LLValue* DtoVirtualFunctionPointer(DValue* inst, FuncDeclaration* fdecl); |
41 | 41 |
42 #endif | 42 #endif |