diff test/vararg2.d @ 57:a9d29e9f1fed trunk

[svn r61] Added support for D-style variadic functions :)
author lindquist
date Thu, 25 Oct 2007 02:39:53 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/vararg2.d	Thu Oct 25 02:39:53 2007 +0200
@@ -0,0 +1,18 @@
+module vararg2;
+
+void func(...)
+{
+    assert(_arguments.length == 2);
+    assert(_arguments[0] is typeid(int));
+    int a = *cast(int*)_argptr;
+    _argptr += int.sizeof;
+    assert(_arguments[1] is typeid(int));
+    a += *cast(int*)_argptr;
+    _argptr += int.sizeof;
+    assert(a == 3);
+}
+
+void main()
+{
+    func(1,2);
+}