Mercurial > projects > ldc
annotate test/multiarr1.d @ 94:61615fa85940 trunk
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
Added support for array .sort and .reverse properties.
Fixed some bugs with pointer arithmetic.
Disabled some DMD AST optimizations that was messing things up, destroying valuable information.
Added a KDevelop project file, this is what I use for coding LLVMDC now :)
Other minor stuff.
author | lindquist |
---|---|
date | Mon, 12 Nov 2007 06:32:46 +0100 |
parents | b688ad419f8c |
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 } |