aboutsummaryrefslogtreecommitdiff
path: root/testsuite/runnable/varargs.elna
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-09-12 00:18:11 +0200
committerEugen Wissner <belka@caraus.de>2026-09-12 00:18:11 +0200
commiteb1d068beeaaa420b558595751295eec35ad0c3c (patch)
treea10aadd88ba358726573f7324ff6f9c489ebad77 /testsuite/runnable/varargs.elna
parentbd2b80d6ac582b9f0bcd96c86d4b79bfdb64eca1 (diff)
downloadelna-eb1d068beeaaa420b558595751295eec35ad0c3c.tar.gz
Support variadic extern procedures
Diffstat (limited to 'testsuite/runnable/varargs.elna')
-rw-r--r--testsuite/runnable/varargs.elna16
1 files changed, 16 insertions, 0 deletions
diff --git a/testsuite/runnable/varargs.elna b/testsuite/runnable/varargs.elna
new file mode 100644
index 0000000..feeb94b
--- /dev/null
+++ b/testsuite/runnable/varargs.elna
@@ -0,0 +1,16 @@
+var
+ buffer: [8]Word8
+ written: Int32
+
+proc snprintf(buffer: ^Word8; size: Word; format: ^const Word8) #{varargs} -> Int32
+extern
+
+program()
+begin
+ written := snprintf(@buffer[1], 8u, "%d %.1f".ptr, 200u8, 1.5f);
+ assert(written = 7i32);
+ assert(buffer[1] = '2');
+ assert(buffer[7] = '5')
+return 0u8
+
+end.