blob: f164fe41f3290e5bfdf3e823726d7618f15db1f6 [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
53%macro prange1 2-3
54 db %{1:2}, 0%3
55%endmacro
56
57%macro prange2 1-3 'two', 'three'
58 db %{1:3}
59%endmacro
60
61 db 4,
62 nothing
63 nothing 1
64 nothing ; foo
65 nothing EMPTY
66
67flup: foo 1,2
68 foo 3
69 bar
70 bar EMPTY
71 foo 6,
72 foo 6, ; With space/comment
73 foo 6,EMPTY
74 baz 8,EMPTY
75 foo 6,{}
76 foo ,5
77
78 xyzzy 13,14,15,
79 xyzzy 13,14,15,EMPTY
80 xyzzy 20,21
81 xyzzy 22,23,
82 xyzzy 24,25,EMPTY
83 xyzzy 26,27,,
84 xyzzy 28,29,EMPTY,EMPTY
85
86 vararg
87 vararg EMPTY
88 vararg ,
89 vararg 10
90 vararg 11,
91 vararg 12,EMPTY
92 vararg 13,14,15,
93 vararg 13,14,15,EMPTY
94 vararg 20,21
95 vararg 22,23,
96 vararg 24,25,EMPTY
97 vararg 26,27,,
98 vararg 28,29,EMPTY,EMPTY
99
100 ivar {}
101 ivar {EMPTY}
102 ivar EMPTY
103 ivar ,
104 ivar {,}
105 ivar {60}
106 ivar {61,}
107 ivar {62,EMPTY}
108 ivar {63,64,65,}
109 ivar {63,64,65,EMPTY}
110 ivar {70,71}
111 ivar {72,73,}
112 ivar {74,75,EMPTY}
113 ivar {76,77,,}
114 ivar {78,79,EMPTY,EMPTY}
115
116 defargs EMPTY
117 defargs 91
118 defargs 91,92
119 defargs 91,92,93
120 defargs 91,92,93,94
121 defargs 91,92,93,94,95
122 defargs ,
123 defargs 91,
124 defargs 91,92,
125 defargs 91,92,93,
126 defargs 91,92,93,94,
127 defargs 91,92,93,94,95,
128
129 prange1 101
130 prange1 101, 102
131 prange1 101, 102, 103
132 prange2 121
133 prange2 121, 122
134 prange2 121, 122, 123
135 prange2 {121}
136 prange2 {121,121}
137 prange2 {121},{122}
138 prange2 {121},122,{123}
139 prange2 121,{122,122},123