v2 / vlib / v / gen / c / testdata / literal_c_variadic_arg.vv
22 lines · 17 sloc · 355 bytes · b58937c9cfa38d22f4d45984139dc5d974353e83
Raw
1#include <stdarg.h>
2
3@[typedef]
4struct C.va_list {}
5
6fn C.va_start(voidptr, voidptr)
7fn C.va_end(voidptr)
8
9fn C.vfprintf(&C.FILE, &char, C.va_list) int
10
11fn t2(fmt voidptr, ...) {
12 ap := C.va_list{}
13 C.va_start(ap, fmt)
14 C.vfprintf(C.stderr, fmt, ap)
15 C.va_end(ap)
16}
17
18fn main() {
19 a := 1
20 b := 2.5
21 t2(c'%s : %d : %.2f, %d, %c\n', c'foo', a, b, 42, `v`)
22}
23