From 2d43fcafe0cedd4f78611dddccc31e1bef432aab Mon Sep 17 00:00:00 2001 From: Araq Date: Wed, 12 Nov 2014 00:04:04 +0100 Subject: fixes #1593 --- tests/ccgbugs/tcvarargs.nim | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/ccgbugs/tcvarargs.nim (limited to 'tests/ccgbugs') diff --git a/tests/ccgbugs/tcvarargs.nim b/tests/ccgbugs/tcvarargs.nim new file mode 100644 index 000000000..ebaf83a4a --- /dev/null +++ b/tests/ccgbugs/tcvarargs.nim @@ -0,0 +1,34 @@ +discard """ + output: '''17 +17 +17 +17 +17 +17 +''' +""" + +# bug #1593 + +{.emit: """ +#include + +void foo(int n, ...) { + NI64 k; + int i; + va_list argp; + va_start(argp, n); + for (i = 1; i <= n; i++) { + k = va_arg(argp, NI64); + printf("%lld\n", (long long)k); + } + va_end(argp); +} +""".} + +proc foo(x: cint) {.importc, varargs, nodecl.} + +proc main() = + const k = 17'i64 + foo(6, k, k, k, k, k, k) +main() -- cgit 1.4.1-2-gfad0