Mercurial > projects > ldc
annotate test/arrays15.d @ 339:385a18242485 trunk
[svn r360] Another mostly rewrite of DtoArrayInit. Should be much more robust now, and probably faster code generated for the most common cases too!
Fixed issues with slice initialization (!!!) of multidimensional static arrays.
Attempt to fix issue with referencing nested 'this' pointers introduced in DMD 1.033 merge.
author | lindquist |
---|---|
date | Sun, 13 Jul 2008 01:29:49 +0200 |
parents | 0baca2feb554 |
children |
rev | line source |
---|---|
306
0baca2feb554
[svn r327] Fixed some more MinGW32 issues. It's now very close to working.
lindquist
parents:
305
diff
changeset
|
1 module arrays15; |
0baca2feb554
[svn r327] Fixed some more MinGW32 issues. It's now very close to working.
lindquist
parents:
305
diff
changeset
|
2 |
175
c44e6a711885
[svn r191] Fixed: array literals did not support all type/storage combinations.
lindquist
parents:
1
diff
changeset
|
3 extern(C) int printf(char*, ...); |
c44e6a711885
[svn r191] Fixed: array literals did not support all type/storage combinations.
lindquist
parents:
1
diff
changeset
|
4 |
1 | 5 void integer() |
6 { | |
7 auto arr = new int[16]; | |
8 arr[1] = 42; | |
9 arr[6] = 555; | |
10 print_int(arr); | |
11 delete arr; | |
12 } | |
13 | |
14 void floating() | |
15 { | |
16 auto arr = new float[6]; | |
17 arr[1] = 3.14159265; | |
18 arr[3] = 1.61803399; | |
19 print_float(arr); | |
20 delete arr; | |
21 } | |
22 | |
23 void print_int(int[] arr) | |
24 { | |
25 printf("arr[%lu] = [", arr.length); | |
26 for (auto i=0; i<arr.length; i++) | |
27 printf("%d,", arr[i]); | |
28 printf("\b]\n"); | |
29 } | |
30 | |
31 void print_float(float[] arr) | |
32 { | |
33 printf("arr[%lu] = [", arr.length); | |
34 for (auto i=0; i<arr.length; i++) | |
35 printf("%f,", arr[i]); | |
36 printf("\b]\n"); | |
37 } | |
38 | |
39 void main() | |
40 { | |
41 integer(); | |
42 floating(); | |
43 } |