comparison gen/arrays.h @ 591:e6bcc4d9e5ff

Add _d_newarrayvT and _d_newarraymvT to create arrays without initialization. Adjust DtoNewDynArray to use DtoArrayInit for initialization of new arrays. Make Type::tvoid->defaultInit() not error.
author Christian Kamm <kamm incasoftware de>
date Sun, 14 Sep 2008 10:13:50 +0200
parents 76078c8ab5b9
children 340acf1535d0
comparison
equal deleted inserted replaced
590:1ecb43102d12 591:e6bcc4d9e5ff
17 void DtoArrayInit(Loc& loc, DValue* array, DValue* value); 17 void DtoArrayInit(Loc& loc, DValue* array, DValue* value);
18 void DtoArrayAssign(LLValue* l, LLValue* r); 18 void DtoArrayAssign(LLValue* l, LLValue* r);
19 void DtoSetArray(LLValue* arr, LLValue* dim, LLValue* ptr); 19 void DtoSetArray(LLValue* arr, LLValue* dim, LLValue* ptr);
20 void DtoSetArrayToNull(LLValue* v); 20 void DtoSetArrayToNull(LLValue* v);
21 21
22 DSliceValue* DtoNewDynArray(Type* arrayType, DValue* dim, bool defaultInit=true); 22 DSliceValue* DtoNewDynArray(Loc& loc, Type* arrayType, DValue* dim, bool defaultInit=true);
23 DSliceValue* DtoNewMulDimDynArray(Type* arrayType, DValue** dims, size_t ndims, bool defaultInit=true); 23 DSliceValue* DtoNewMulDimDynArray(Loc& loc, Type* arrayType, DValue** dims, size_t ndims, bool defaultInit=true);
24 DSliceValue* DtoResizeDynArray(Type* arrayType, DValue* array, DValue* newdim); 24 DSliceValue* DtoResizeDynArray(Type* arrayType, DValue* array, DValue* newdim);
25 25
26 DSliceValue* DtoCatAssignElement(DValue* arr, Expression* exp); 26 DSliceValue* DtoCatAssignElement(DValue* arr, Expression* exp);
27 DSliceValue* DtoCatAssignArray(DValue* arr, Expression* exp); 27 DSliceValue* DtoCatAssignArray(DValue* arr, Expression* exp);
28 DSliceValue* DtoCatArrays(Type* type, Expression* e1, Expression* e2); 28 DSliceValue* DtoCatArrays(Type* type, Expression* e1, Expression* e2);