blob: af02e3786688a578a6b88f9412cd8054ce47baff [file] [log] [blame]
H. Peter Anvin (Intel)e99a9462020-06-30 11:51:41 -07001%define EMPTY
2
3%macro bar 1
4 db "bar", __LINE__, %0, %1
5%endmacro
6
7%macro baz 2
8 db "baz", __LINE__, %0, %1, %2
9%endmacro
10
11%macro nothing 0
12 db "nothing", __LINE__, %0
13%endmacro
14
15%macro xyzzy 1-2
16 db "xyzzy", __LINE__, %0, %1, %2, %3
17%endmacro
18
19%macro vararg 0-*
20 db "vararg", __LINE__, %0
21 %assign %%i 1
22 %rep %0
23 db "vararg arg ", %%i, %1
24 %rotate 1
25 %assign %%i %%i + 1
26 %endrep
27%endmacro
28
29%macro defargs 1-5 def2, def3, def4, def5
30 db "defargs", __LINE__, %0, %1, %2, %3, %4, %5
31%endmacro
32
33%macro ivar 1
34 vararg %1
35%endmacro
36
37%macro foo 1-2
38 db "foo", __LINE__, %0, %1, %2
39 bar %2
40 bar {%2}
41 bar %2,
42 bar {%2},
43 baz %1,%2
44 baz {%1},{%2}
45 nothing %1
46 nothing %2
47 xyzzy "meep",%1,%2,
48 xyzzy "meep","meep",%1,%2
49 xyzzy "alpha","bravo",
50 xyzzy "with","empty",EMPTY
51%endmacro
52
H. Peter Anvin (Intel)7f1095a2020-06-30 12:54:21 -070053%macro orange 1
54 db %{1:1}
55%endmacro
56
H. Peter Anvin (Intel)e99a9462020-06-30 11:51:41 -070057%macro prange1 2-3
58 db %{1:2}, 0%3
59%endmacro
60
61%macro prange2 1-3 'two', 'three'
62 db %{1:3}
63%endmacro
64
65 db 4,
66 nothing
67 nothing 1
68 nothing ; foo
69 nothing EMPTY
70
71flup: foo 1,2
72 foo 3
73 bar
74 bar EMPTY
75 foo 6,
76 foo 6, ; With space/comment
77 foo 6,EMPTY
78 baz 8,EMPTY
79 foo 6,{}
80 foo ,5
81
82 xyzzy 13,14,15,
83 xyzzy 13,14,15,EMPTY
84 xyzzy 20,21
85 xyzzy 22,23,
86 xyzzy 24,25,EMPTY
87 xyzzy 26,27,,
88 xyzzy 28,29,EMPTY,EMPTY
89
90 vararg
91 vararg EMPTY
92 vararg ,
93 vararg 10
94 vararg 11,
95 vararg 12,EMPTY
96 vararg 13,14,15,
97 vararg 13,14,15,EMPTY
98 vararg 20,21
99 vararg 22,23,
100 vararg 24,25,EMPTY
101 vararg 26,27,,
102 vararg 28,29,EMPTY,EMPTY
103
104 ivar {}
105 ivar {EMPTY}
106 ivar EMPTY
107 ivar ,
108 ivar {,}
109 ivar {60}
110 ivar {61,}
111 ivar {62,EMPTY}
112 ivar {63,64,65,}
113 ivar {63,64,65,EMPTY}
114 ivar {70,71}
115 ivar {72,73,}
116 ivar {74,75,EMPTY}
117 ivar {76,77,,}
118 ivar {78,79,EMPTY,EMPTY}
119
120 defargs EMPTY
121 defargs 91
122 defargs 91,92
123 defargs 91,92,93
124 defargs 91,92,93,94
125 defargs 91,92,93,94,95
126 defargs ,
127 defargs 91,
128 defargs 91,92,
129 defargs 91,92,93,
130 defargs 91,92,93,94,
131 defargs 91,92,93,94,95,
132
133 prange1 101
134 prange1 101, 102
135 prange1 101, 102, 103
136 prange2 121
137 prange2 121, 122
138 prange2 121, 122, 123
139 prange2 {121}
140 prange2 {121,121}
141 prange2 {121},{122}
142 prange2 {121},122,{123}
143 prange2 121,{122,122},123
H. Peter Anvin (Intel)7f1095a2020-06-30 12:54:21 -0700144
145 orange 130
146 orange 130, 131
147 orange {130, 131}