Mercurial > projects > ldc
diff gen/arrays.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 | e881c9b1c738 |
children | 9760f54af0b7 |
line wrap: on
line diff
--- a/gen/arrays.h Tue May 27 22:14:24 2008 +0200 +++ b/gen/arrays.h Fri May 30 19:32:04 2008 +0200 @@ -6,18 +6,18 @@ const llvm::StructType* DtoArrayType(Type* t); const llvm::ArrayType* DtoStaticArrayType(Type* t); -llvm::Constant* DtoConstArrayInitializer(ArrayInitializer* si); -llvm::Constant* DtoConstSlice(llvm::Constant* dim, llvm::Constant* ptr); -llvm::Constant* DtoConstStaticArray(const llvm::Type* t, llvm::Constant* c); +LLConstant* DtoConstArrayInitializer(ArrayInitializer* si); +LLConstant* DtoConstSlice(LLConstant* dim, LLConstant* ptr); +LLConstant* DtoConstStaticArray(const llvm::Type* t, LLConstant* c); void DtoArrayCopySlices(DSliceValue* dst, DSliceValue* src); void DtoArrayCopyToSlice(DSliceValue* dst, DValue* src); -void DtoArrayInit(llvm::Value* l, llvm::Value* r); -void DtoArrayInit(llvm::Value* ptr, llvm::Value* dim, llvm::Value* val); -void DtoArrayAssign(llvm::Value* l, llvm::Value* r); -void DtoSetArray(llvm::Value* arr, llvm::Value* dim, llvm::Value* ptr); -void DtoSetArrayToNull(llvm::Value* v); +void DtoArrayInit(LLValue* l, LLValue* r); +void DtoArrayInit(LLValue* ptr, LLValue* dim, LLValue* val); +void DtoArrayAssign(LLValue* l, LLValue* r); +void DtoSetArray(LLValue* arr, LLValue* dim, LLValue* ptr); +void DtoSetArrayToNull(LLValue* v); DSliceValue* DtoNewDynArray(Type* arrayType, DValue* dim, bool defaultInit=true); DSliceValue* DtoResizeDynArray(Type* arrayType, DValue* array, DValue* newdim); @@ -27,17 +27,17 @@ DSliceValue* DtoCatArrays(Type* type, Expression* e1, Expression* e2); DSliceValue* DtoCatArrayElement(Type* type, Expression* exp1, Expression* exp2); -void DtoStaticArrayCopy(llvm::Value* dst, llvm::Value* src); +void DtoStaticArrayCopy(LLValue* dst, LLValue* src); -llvm::Value* DtoArrayEquals(TOK op, DValue* l, DValue* r); -llvm::Value* DtoArrayCompare(TOK op, DValue* l, DValue* r); +LLValue* DtoArrayEquals(TOK op, DValue* l, DValue* r); +LLValue* DtoArrayCompare(TOK op, DValue* l, DValue* r); -llvm::Value* DtoDynArrayIs(TOK op, llvm::Value* l, llvm::Value* r); +LLValue* DtoDynArrayIs(TOK op, LLValue* l, LLValue* r); -llvm::Value* DtoArrayCastLength(llvm::Value* len, const llvm::Type* elemty, const llvm::Type* newelemty); +LLValue* DtoArrayCastLength(LLValue* len, const llvm::Type* elemty, const llvm::Type* newelemty); -llvm::Value* DtoArrayLen(DValue* v); -llvm::Value* DtoArrayPtr(DValue* v); +LLValue* DtoArrayLen(DValue* v); +LLValue* DtoArrayPtr(DValue* v); DValue* DtoCastArray(DValue* val, Type* to);