Removed superfluous debug comments from ARM generator
[voodoo-lang.git] / test / many-args-tail.voo
blob67543285e4ffa0664e3fe1af9053ab40af74f7db
1 #### Test tail calls using many arguments
3 section data
4 align
5 format:
6 string "many_args_tail: %d\n\x00"
8 section functions
9 import printf
10 export main
12 align
13 many_args_tail:
14 function count a b c d e f g h i j k l m n o p q r s t
16     let result 0
17     ifle count 0
18         set result add result a
19         set result add result b
20         set result add result c
21         set result add result d
22         set result add result e
23         set result add result f
24         set result add result g
25         set result add result h
26         set result add result i
27         set result add result j
28         set result add result k
29         set result add result l
30         set result add result m
31         set result add result n
32         set result add result o
33         set result add result p
34         set result add result q
35         set result add result r
36         set result add result s
37         set result add result t
38         return result
39     end if
41     let newcount sub count 1
42     let newa add a 1
43     let newb add b 1
44     let newc add c 1
45     let newd add d 1
46     let newe add e 1
47     let newf add f 1
48     let newg add g 1
49     let newh add h 1
50     let newi add i 1
51     let newj add j 1
52     let newk add k 1
53     let newl add l 1
54     let newm add m 1
55     let newn add n 1
56     let newo add o 1
57     let newp add p 1
58     let newq add q 1
59     let newr add r 1
60     let news add s 1
61     let newt add t 1
63     tail-call many_args_tail newcount newa newb newc newd newe newf newg newh \
64               newi newj newk newl newm newn newo newp newq newr news newt
65 end function
67 align
68 main:
69 function argc argv
70     let x call many_args_tail 1000000 1 2 3 4 5 6 7 8 9 10 11 \
71                               12 13 14 15 16 17 18 19 20
72     call printf format x
74     return 0
75 end function