diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/3.cff | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/3.cff b/test/3.cff new file mode 100644 index 0000000..7103225 --- /dev/null +++ b/test/3.cff @@ -0,0 +1,19 @@ +import "libc.hff"; + +fn sum(res int, ...) int { + let ap va_list = {}; + ap->start(); + printf("%d ", res); + for ;; { + let n = ap->arg(int); + printf("+ %d ", n); + res += n; + if n == 0 { break; } + } + ap->end(); + return res; +} + +extern fn main(argc int, argv **u8) int { + printf("= %d\n", sum(1,2,3,42,-1,0)); +} |