Removed superfluous debug comments from ARM generator
[voodoo-lang.git] / test / restore-frame.voo
blob4e856f67ece03df4291a5e8914dd75375ca7b706
1 # Test for save-frame and restore-frame.
3 section data
5 address: word 0
7 format_20:
8 string "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n\x00"
11 section functions
12 import exit printf
13 export main
15 align
16 test:
17 function
18     let a 1
19     let b 2
20     let c 3
21     let d 4
22     let e 5
23     let f 6
24     let g 7
25     let h 8
26     let i 9
27     let j 10
28     let k 11
29     let l 12
30     let m 13
31     let n 14
32     let o 15
33     let p 16
34     let q 17
35     let r 18
36     let s 19
37     let t 20
38     let saved-frame auto-bytes %saved-frame-size
39     save-frame saved-frame
41     set @address print_values
42     call passthrough saved-frame
44     goto end_test
45 print_values:
46     call printf format_20 a b c d e f g h i j \
47         k l m n o p q r s t
49 end_test:
50     return
51 end function
54 align
55 nonlocal_jump:
56 function frame
57     let a 71
58     let b 72
59     let c 73
60     let d 74
61     let e 75
62     let f 76
63     let g 77
64     let h 78
65     let i 79
66     let j 80
67     let k 81
68     let l 82
69     let m 83
70     let n 84
71     let o 85
72     let p 86
73     let q 87
74     let r 88
75     let s 89
76     let t 90
77     restore-frame frame
78     goto @address
79     call exit 2
80 end function
82 align
83 passthrough:
84 function frame
85     let a 41
86     let b 42
87     let c 43
88     let d 44
89     let e 45
90     let f 46
91     let g 47
92     let h 48
93     let i 49
94     call nonlocal_jump frame
95     call exit 1
96 end function
99 align
100 main:
101 function argc argv
102     call test
103     return 0
104 end function