diff run/mini/vararg1.d @ 1628:c6ef09dfba4d

add mini test set from ldc project
author Moritz Warning <moritzwarning@web.de>
date Mon, 10 Jan 2011 19:47:18 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/mini/vararg1.d	Mon Jan 10 19:47:18 2011 +0100
@@ -0,0 +1,27 @@
+module vararg1;
+
+version(Tango)
+{
+    import tango.core.Vararg;
+}
+else
+{
+    import std.c.stdarg;
+}
+
+extern(C) int add(int n, ...)
+{
+    va_list ap=void;
+    va_start(ap, n);
+    int r;
+    for (int i=0; i<n; i++)
+        r += va_arg!(int)(ap);
+    va_end(ap);
+    return r;
+}
+
+void main()
+{
+    int i = add(4, 1,2,3,4);
+    assert(i == 10);
+}