added vararg_test.onyx
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sun, 27 Sep 2020 04:39:13 +0000 (23:39 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sun, 27 Sep 2020 04:39:13 +0000 (23:39 -0500)
tests/vararg_test [new file with mode: 0644]
tests/vararg_test.onyx [new file with mode: 0644]

diff --git a/tests/vararg_test b/tests/vararg_test
new file mode 100644 (file)
index 0000000..dec9f7f
--- /dev/null
@@ -0,0 +1,8 @@
+foo
+1
+2
+1077936128
+1084227584
+bar
+1
+Hello, 1234, World!
diff --git a/tests/vararg_test.onyx b/tests/vararg_test.onyx
new file mode 100644 (file)
index 0000000..87a414e
--- /dev/null
@@ -0,0 +1,27 @@
+package main
+
+#include_file "core/std/js"
+
+use package core;
+
+old_va_test :: proc (prefix: string, va: ..i32) {
+    println(prefix);
+    for v: va do println(v);
+}
+
+new_va_test :: proc (prefix: string, va: ...) {
+    println(prefix);
+
+    for i: 0 .. va.count {
+        x : i32;
+        vararg_get(va, ^x);
+        println(x);
+    }
+}
+
+main :: proc (args: [] cstring) {
+    new_va_test("foo", 1, 2, 3.0f, 5.0f);
+    old_va_test("bar", 1);
+
+    printf("Hello, %i, %s!\n", 1234, "World");
+}