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);