Mercurial > projects > ldc
annotate test/vararg3.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 | a9d29e9f1fed |
children |
rev | line source |
---|---|
57
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
1 module vararg3; |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
2 |
270
d9d5d59873d8
[svn r291] Fixed a bunch of the old Phobos tests to work with Tango.
lindquist
parents:
57
diff
changeset
|
3 import tango.core.Vararg; |
57
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
4 |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
5 void func(...) |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
6 { |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
7 assert(_arguments.length == 3); |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
8 assert(_arguments[0] is typeid(int)); |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
9 assert(_arguments[1] is typeid(float)); |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
10 assert(_arguments[2] is typeid(long)); |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
11 assert(va_arg!(int)(_argptr) == 4); |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
12 assert(va_arg!(float)(_argptr) == 2.5f); |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
13 assert(va_arg!(long)(_argptr) == 42L); |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
14 } |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
15 |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
16 void main() |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
17 { |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
18 func(4, 2.5f, 42L); |
a9d29e9f1fed
[svn r61] Added support for D-style variadic functions :)
lindquist
parents:
diff
changeset
|
19 } |