Mercurial > projects > ldc
annotate test/arrays7.d @ 88:058d3925950e trunk
[svn r92] Fixed support for statically initialized unions. lots of bugfixes as cleanups too.
author | lindquist |
---|---|
date | Tue, 06 Nov 2007 10:03:14 +0100 |
parents | fd32135dca3e |
children | c44e6a711885 |
rev | line source |
---|---|
40 | 1 module arrays7; |
2 | |
86
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
3 pragma(LLVM_internal, "notypeinfo") |
40 | 4 struct S |
5 { | |
6 int i; | |
7 float f; | |
8 long l; | |
86
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
9 |
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
10 void print() |
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
11 { |
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
12 printf("%d %f %lx\n", i, f, l); |
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
13 } |
40 | 14 } |
15 | |
16 void main() | |
17 { | |
18 S[] arr; | |
19 S s; | |
86
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
20 assert(arr.length == 0); |
40 | 21 arr ~= s; |
86
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
22 assert(arr.length == 1); |
40 | 23 arr ~= S(1,2.64,0xFFFF_FFFF_FFFF); |
86
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
24 assert(arr.length == 2); |
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
25 arr[0].print(); |
fd32135dca3e
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents:
40
diff
changeset
|
26 arr[1].print(); |
40 | 27 assert(arr[1].i == 1); |
28 assert(arr[1].f > 2.63 && arr[1].f < 2.65); | |
29 assert(arr[1].l == 0xFFFF_FFFF_FFFF); | |
30 } |