aboutsummaryrefslogtreecommitdiff
path: root/test/3.cff
blob: 71032255b281598b682613563a1c306b8e642323 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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));
}