annotate test/calls1.d @ 270:d9d5d59873d8 trunk

[svn r291] Fixed a bunch of the old Phobos tests to work with Tango. Branch statements now emit a new block after it. Fixed the _adSort runtime function had a bad signature. Added a missing dot prefix on compiler generated string tables for string switch. Fixed, PTRSIZE seems like it was wrong on 64bit, now it definitely gets set properly.
author lindquist
date Mon, 16 Jun 2008 16:01:19 +0200
parents 5825d48b27d1
children 068cb3c60afb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
1 module calls1;
270
d9d5d59873d8 [svn r291] Fixed a bunch of the old Phobos tests to work with Tango.
lindquist
parents: 131
diff changeset
2 import tango.core.Vararg;
131
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
3 void main()
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
4 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
5 {int a = byVal1(3);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
6 {int a = void; byRef1(a);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
7 {char[] c = void; refType(c);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
8 {char[] c = void; refTypeByRef(c);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
9 {S s = void; structByVal(s);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
10 {S s = void; structByRef(s);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
11 {S s = void; structByPtr(&s);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
12 {printf("c-varargs %d %d %d\n", 1,2,3);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
13 {int i=3; float f=24.7; dvararg(i,f);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
14 {char[] s = "hello"; dvarargRefTy(s);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
15 {char[] ss = "hello world!"; dvarargRefTy(ss);}
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
16 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
17
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
18 int byVal1(int a)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
19 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
20 return a;
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
21 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
22
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
23 void byRef1(ref int a)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
24 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
25 a = 3;
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
26 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
27
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
28 void refType(char[] s)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
29 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
30 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
31
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
32 void refTypeByRef(ref char[] s)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
33 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
34 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
35
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
36 struct S
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
37 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
38 float f;
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
39 double d;
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
40 long l;
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
41 byte b;
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
42 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
43
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
44 void structByVal(S s)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
45 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
46 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
47
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
48 void structByRef(ref S s)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
49 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
50 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
51
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
52 void structByPtr(S* s)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
53 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
54 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
55
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
56 void dvararg(...)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
57 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
58 printf("%d %.1f\n", va_arg!(int)(_argptr), va_arg!(float)(_argptr));
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
59 }
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
60
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
61 void dvarargRefTy(...)
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
62 {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
63 char[] s = va_arg!(char[])(_argptr);
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
64 printf("%.*s\n", s.length, s.ptr);
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents:
diff changeset
65 }