annotate test/arrays7.d @ 120:5ce8ab11e75a trunk

[svn r124] Fixed another D vararg + return in ptr bug. Fixed some nested function calls failed to resolve the context ptr.
author lindquist
date Mon, 26 Nov 2007 07:26:21 +0100
parents fd32135dca3e
children c44e6a711885
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
1 module arrays7;
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
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
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
4 struct S
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
5 {
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
6 int i;
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
7 float f;
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
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
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
14 }
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
15
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
16 void main()
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
17 {
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
18 S[] arr;
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
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
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
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
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
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
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
27 assert(arr[1].i == 1);
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
28 assert(arr[1].f > 2.63 && arr[1].f < 2.65);
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
29 assert(arr[1].l == 0xFFFF_FFFF_FFFF);
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents:
diff changeset
30 }