Mercurial > projects > ldc
annotate test/multiarr1.d @ 203:e881c9b1c738 trunk
[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 .
Changed: removed the crappy realloc based dynamic memory runtime and started moving over to DMD style runtime support, part of moving to real GC.
Fixed: dynamic arrays now use GC runtime for allocating memory.
Fixed: new expression now use GC for allocating memory.
Changed: revamped the dynamic array support routines related to dynamic memory.
Fixed: assertions no longer create exsessive allocas.
Changed: misc. minor cleanups.
author | lindquist |
---|---|
date | Tue, 13 May 2008 14:42:09 +0200 |
parents | 61615fa85940 |
children | 385a18242485 |
rev | line source |
---|---|
64
b688ad419f8c
[svn r68] Added support for multi-dimensional static arrays.
lindquist
parents:
diff
changeset
|
1 module multiarr1; |
b688ad419f8c
[svn r68] Added support for multi-dimensional static arrays.
lindquist
parents:
diff
changeset
|
2 |
b688ad419f8c
[svn r68] Added support for multi-dimensional static arrays.
lindquist
parents:
diff
changeset
|
3 void main() |
b688ad419f8c
[svn r68] Added support for multi-dimensional static arrays.
lindquist
parents:
diff
changeset
|
4 { |
b688ad419f8c
[svn r68] Added support for multi-dimensional static arrays.
lindquist
parents:
diff
changeset
|
5 int[16][16] a; |
b688ad419f8c
[svn r68] Added support for multi-dimensional static arrays.
lindquist
parents:
diff
changeset
|
6 a[10][13] = 42; |
94
61615fa85940
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents:
64
diff
changeset
|
7 //assert(a[0][0] == 0); |
61615fa85940
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents:
64
diff
changeset
|
8 //assert(a[10][13] == 42); |
61615fa85940
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents:
64
diff
changeset
|
9 { |
61615fa85940
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents:
64
diff
changeset
|
10 int* l = cast(int*)a; |
61615fa85940
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents:
64
diff
changeset
|
11 l += 10*16+13; |
61615fa85940
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents:
64
diff
changeset
|
12 assert(*l == 42); |
61615fa85940
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents:
64
diff
changeset
|
13 } |
64
b688ad419f8c
[svn r68] Added support for multi-dimensional static arrays.
lindquist
parents:
diff
changeset
|
14 } |