annotate gen/arrays.h @ 314:8d98e42ece93 trunk

[svn r335] The basics of exception handling are in place. Still need to make sure calls are turned into invokes everywhere. (NewExpression for instance) Still some rough edges and corner cases to figure out. Needs testing!
author ChristianK
date Wed, 02 Jul 2008 22:20:18 +0200
parents 6b62e8cdf970
children 0e6b4d65d3f8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff changeset
1 #ifndef LLVMC_GEN_ARRAYS_H
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff changeset
2 #define LLVMC_GEN_ARRAYS_H
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff changeset
3
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 81
diff changeset
4 struct DSliceValue;
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 81
diff changeset
5
234
9760f54af0b7 [svn r250] Fixed the warning about dropping arguments to _Dmain when optimizing.
lindquist
parents: 213
diff changeset
6 const llvm::StructType* DtoArrayType(Type* arrayTy);
9760f54af0b7 [svn r250] Fixed the warning about dropping arguments to _Dmain when optimizing.
lindquist
parents: 213
diff changeset
7 const llvm::StructType* DtoArrayType(const LLType* elemTy);
9760f54af0b7 [svn r250] Fixed the warning about dropping arguments to _Dmain when optimizing.
lindquist
parents: 213
diff changeset
8 const llvm::ArrayType* DtoStaticArrayType(Type* sarrayTy);
4
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff changeset
9
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
10 LLConstant* DtoConstArrayInitializer(ArrayInitializer* si);
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
11 LLConstant* DtoConstSlice(LLConstant* dim, LLConstant* ptr);
244
a95056b3c996 [svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents: 234
diff changeset
12 LLConstant* DtoConstStaticArray(const LLType* t, LLConstant* c);
34
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
13
108
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents: 102
diff changeset
14 void DtoArrayCopySlices(DSliceValue* dst, DSliceValue* src);
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents: 102
diff changeset
15 void DtoArrayCopyToSlice(DSliceValue* dst, DValue* src);
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 81
diff changeset
16
295
895e1b50cf2a [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
lindquist
parents: 286
diff changeset
17 void DtoArrayInit(DValue* array, DValue* value);
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
18 void DtoArrayAssign(LLValue* l, LLValue* r);
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
19 void DtoSetArray(LLValue* arr, LLValue* dim, LLValue* ptr);
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
20 void DtoSetArrayToNull(LLValue* v);
4
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff changeset
21
203
e881c9b1c738 [svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 .
lindquist
parents: 132
diff changeset
22 DSliceValue* DtoNewDynArray(Type* arrayType, DValue* dim, bool defaultInit=true);
286
a3b7c19c866c [svn r307] Fixed: multidimensional new expressions now work. Eg.:
lindquist
parents: 244
diff changeset
23 DSliceValue* DtoNewMulDimDynArray(Type* arrayType, DValue** dims, size_t ndims, bool defaultInit=true);
203
e881c9b1c738 [svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 .
lindquist
parents: 132
diff changeset
24 DSliceValue* DtoResizeDynArray(Type* arrayType, DValue* array, DValue* newdim);
21
8d45266bbabe [svn r25] * Fixed a lot of problems with string literals
lindquist
parents: 11
diff changeset
25
203
e881c9b1c738 [svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 .
lindquist
parents: 132
diff changeset
26 DSliceValue* DtoCatAssignElement(DValue* arr, Expression* exp);
e881c9b1c738 [svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 .
lindquist
parents: 132
diff changeset
27 DSliceValue* DtoCatAssignArray(DValue* arr, Expression* exp);
e881c9b1c738 [svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 .
lindquist
parents: 132
diff changeset
28 DSliceValue* DtoCatArrays(Type* type, Expression* e1, Expression* e2);
e881c9b1c738 [svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 .
lindquist
parents: 132
diff changeset
29 DSliceValue* DtoCatArrayElement(Type* type, Expression* exp1, Expression* exp2);
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
30
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
31 void DtoStaticArrayCopy(LLValue* dst, LLValue* src);
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
32
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
33 LLValue* DtoArrayEquals(TOK op, DValue* l, DValue* r);
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
34 LLValue* DtoArrayCompare(TOK op, DValue* l, DValue* r);
54
28e99b04a132 [svn r58] Fixed cond expression resulting in a non-basic type.
lindquist
parents: 52
diff changeset
35
308
6b62e8cdf970 [svn r329] Cleaned up a bunch of array code for handling special slice cases no
lindquist
parents: 295
diff changeset
36 LLValue* DtoDynArrayIs(TOK op, DValue* l, DValue* r);
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
37
244
a95056b3c996 [svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents: 234
diff changeset
38 LLValue* DtoArrayCastLength(LLValue* len, const LLType* elemty, const LLType* newelemty);
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
39
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
40 LLValue* DtoArrayLen(DValue* v);
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 203
diff changeset
41 LLValue* DtoArrayPtr(DValue* v);
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 81
diff changeset
42
102
027b8d8b71ec [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents: 99
diff changeset
43 DValue* DtoCastArray(DValue* val, Type* to);
027b8d8b71ec [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents: 99
diff changeset
44
4
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff changeset
45 #endif // LLVMC_GEN_ARRAYS_H