1 /* Test redefinitions differing only in the spelling of paste and
2 stringify tokens, whitespace around them, or the number of
3 consecutive paste tokens. */
4 /* { dg-do preprocess } */
5 /* { dg-options "" } */
7 #define str(x) #x /* { dg-message "previous definition" } */
8 #define str(x) %: x /* { dg-warning "redefined" } */
10 #define str(x) #x /* { dg-message "previous definition" } */
11 #define str(x) # x /* { dg-warning "redefined" } */
13 #define str(x) #x /* { dg-message "previous definition" } */
14 #define str(x) %: x /* { dg-warning "redefined" } */
16 #define str(x) %:x /* { dg-message "previous definition" } */
17 #define str(x) #x /* { dg-warning "redefined" } */
19 #define str(x) %:x /* { dg-message "previous definition" } */
20 #define str(x) %: x /* { dg-warning "redefined" } */
22 #define str(x) %:x /* { dg-message "previous definition" } */
23 #define str(x) # x /* { dg-warning "redefined" } */
25 #define str(x) %:x /* { dg-message "previous definition" } */
26 #define str(x) %: x /* { dg-warning "redefined" } */
28 #define str(x) # x /* { dg-message "previous definition" } */
29 #define str(x) #x /* { dg-warning "redefined" } */
31 #define str(x) # x /* { dg-message "previous definition" } */
32 #define str(x) %: x /* { dg-warning "redefined" } */
34 #define str(x) # x /* { dg-message "previous definition" } */
35 #define str(x) %: x /* { dg-warning "redefined" } */
37 #define str(x) %: x /* { dg-message "previous definition" } */
38 #define str(x) #x /* { dg-warning "redefined" } */
40 #define str(x) %: x /* { dg-message "previous definition" } */
41 #define str(x) # x /* { dg-warning "redefined" } */
57 #define astr(x) a#x /* { dg-message "previous definition" } */
58 #define astr(x) a%: x /* { dg-warning "redefined" } */
60 #define astr(x) a#x /* { dg-message "previous definition" } */
61 #define astr(x) a# x /* { dg-warning "redefined" } */
63 #define astr(x) a#x /* { dg-message "previous definition" } */
64 #define astr(x) a%: x /* { dg-warning "redefined" } */
66 #define astr(x) a#x /* { dg-message "previous definition" } */
67 #define astr(x) a #x /* { dg-warning "redefined" } */
69 #define astr(x) a#x /* { dg-message "previous definition" } */
70 #define astr(x) a %:x /* { dg-warning "redefined" } */
72 #define astr(x) a#x /* { dg-message "previous definition" } */
73 #define astr(x) a # x /* { dg-warning "redefined" } */
75 #define astr(x) a#x /* { dg-message "previous definition" } */
76 #define astr(x) a %: x /* { dg-warning "redefined" } */
78 #define astr(x) a%:x /* { dg-message "previous definition" } */
79 #define astr(x) a#x /* { dg-warning "redefined" } */
81 #define astr(x) a%:x /* { dg-message "previous definition" } */
82 #define astr(x) a%: x /* { dg-warning "redefined" } */
84 #define astr(x) a%:x /* { dg-message "previous definition" } */
85 #define astr(x) a# x /* { dg-warning "redefined" } */
87 #define astr(x) a%:x /* { dg-message "previous definition" } */
88 #define astr(x) a%: x /* { dg-warning "redefined" } */
90 #define astr(x) a%:x /* { dg-message "previous definition" } */
91 #define astr(x) a #x /* { dg-warning "redefined" } */
93 #define astr(x) a%:x /* { dg-message "previous definition" } */
94 #define astr(x) a %:x /* { dg-warning "redefined" } */
96 #define astr(x) a%:x /* { dg-message "previous definition" } */
97 #define astr(x) a # x /* { dg-warning "redefined" } */
99 #define astr(x) a%:x /* { dg-message "previous definition" } */
100 #define astr(x) a %: x /* { dg-warning "redefined" } */
102 #define astr(x) a# x /* { dg-message "previous definition" } */
103 #define astr(x) a#x /* { dg-warning "redefined" } */
105 #define astr(x) a# x /* { dg-message "previous definition" } */
106 #define astr(x) a%: x /* { dg-warning "redefined" } */
108 #define astr(x) a# x /* { dg-message "previous definition" } */
109 #define astr(x) a%: x /* { dg-warning "redefined" } */
111 #define astr(x) a# x /* { dg-message "previous definition" } */
112 #define astr(x) a #x /* { dg-warning "redefined" } */
114 #define astr(x) a# x /* { dg-message "previous definition" } */
115 #define astr(x) a %:x /* { dg-warning "redefined" } */
117 #define astr(x) a# x /* { dg-message "previous definition" } */
118 #define astr(x) a # x /* { dg-warning "redefined" } */
120 #define astr(x) a# x /* { dg-message "previous definition" } */
121 #define astr(x) a %: x /* { dg-warning "redefined" } */
123 #define astr(x) a%: x /* { dg-message "previous definition" } */
124 #define astr(x) a#x /* { dg-warning "redefined" } */
126 #define astr(x) a%: x /* { dg-message "previous definition" } */
127 #define astr(x) a# x /* { dg-warning "redefined" } */
129 #define astr(x) a%: x /* { dg-message "previous definition" } */
130 #define astr(x) a #x /* { dg-warning "redefined" } */
132 #define astr(x) a%: x /* { dg-message "previous definition" } */
133 #define astr(x) a %:x /* { dg-warning "redefined" } */
135 #define astr(x) a%: x /* { dg-message "previous definition" } */
136 #define astr(x) a # x /* { dg-warning "redefined" } */
138 #define astr(x) a%: x /* { dg-message "previous definition" } */
139 #define astr(x) a %: x /* { dg-warning "redefined" } */
141 #define astr(x) a #x /* { dg-message "previous definition" } */
142 #define astr(x) a#x /* { dg-warning "redefined" } */
144 #define astr(x) a #x /* { dg-message "previous definition" } */
145 #define astr(x) a%: x /* { dg-warning "redefined" } */
147 #define astr(x) a #x /* { dg-message "previous definition" } */
148 #define astr(x) a# x /* { dg-warning "redefined" } */
150 #define astr(x) a #x /* { dg-message "previous definition" } */
151 #define astr(x) a%: x /* { dg-warning "redefined" } */
153 #define astr(x) a #x /* { dg-message "previous definition" } */
154 #define astr(x) a %:x /* { dg-warning "redefined" } */
156 #define astr(x) a #x /* { dg-message "previous definition" } */
157 #define astr(x) a # x /* { dg-warning "redefined" } */
159 #define astr(x) a #x /* { dg-message "previous definition" } */
160 #define astr(x) a %: x /* { dg-warning "redefined" } */
162 #define astr(x) a %:x /* { dg-message "previous definition" } */
163 #define astr(x) a#x /* { dg-warning "redefined" } */
165 #define astr(x) a %:x /* { dg-message "previous definition" } */
166 #define astr(x) a%: x /* { dg-warning "redefined" } */
168 #define astr(x) a %:x /* { dg-message "previous definition" } */
169 #define astr(x) a# x /* { dg-warning "redefined" } */
171 #define astr(x) a %:x /* { dg-message "previous definition" } */
172 #define astr(x) a%: x /* { dg-warning "redefined" } */
174 #define astr(x) a %:x /* { dg-message "previous definition" } */
175 #define astr(x) a #x /* { dg-warning "redefined" } */
177 #define astr(x) a %:x /* { dg-message "previous definition" } */
178 #define astr(x) a # x /* { dg-warning "redefined" } */
180 #define astr(x) a %:x /* { dg-message "previous definition" } */
181 #define astr(x) a %: x /* { dg-warning "redefined" } */
183 #define astr(x) a # x /* { dg-message "previous definition" } */
184 #define astr(x) a#x /* { dg-warning "redefined" } */
186 #define astr(x) a # x /* { dg-message "previous definition" } */
187 #define astr(x) a%: x /* { dg-warning "redefined" } */
189 #define astr(x) a # x /* { dg-message "previous definition" } */
190 #define astr(x) a# x /* { dg-warning "redefined" } */
192 #define astr(x) a # x /* { dg-message "previous definition" } */
193 #define astr(x) a%: x /* { dg-warning "redefined" } */
195 #define astr(x) a # x /* { dg-message "previous definition" } */
196 #define astr(x) a #x /* { dg-warning "redefined" } */
198 #define astr(x) a # x /* { dg-message "previous definition" } */
199 #define astr(x) a %:x /* { dg-warning "redefined" } */
201 #define astr(x) a # x /* { dg-message "previous definition" } */
202 #define astr(x) a %: x /* { dg-warning "redefined" } */
204 #define astr(x) a %: x /* { dg-message "previous definition" } */
205 #define astr(x) a#x /* { dg-warning "redefined" } */
207 #define astr(x) a %: x /* { dg-message "previous definition" } */
208 #define astr(x) a%: x /* { dg-warning "redefined" } */
210 #define astr(x) a %: x /* { dg-message "previous definition" } */
211 #define astr(x) a# x /* { dg-warning "redefined" } */
213 #define astr(x) a %: x /* { dg-message "previous definition" } */
214 #define astr(x) a%: x /* { dg-warning "redefined" } */
216 #define astr(x) a %: x /* { dg-message "previous definition" } */
217 #define astr(x) a #x /* { dg-warning "redefined" } */
219 #define astr(x) a %: x /* { dg-message "previous definition" } */
220 #define astr(x) a %:x /* { dg-warning "redefined" } */
222 #define astr(x) a %: x /* { dg-message "previous definition" } */
223 #define astr(x) a # x /* { dg-warning "redefined" } */
232 #define astr(x) a%: x
233 #define astr(x) a%: x
235 #define astr(x) a%: x
236 #define astr(x) a%: x
241 #define astr(x) a %:x
242 #define astr(x) a %:x
244 #define astr(x) a # x
245 #define astr(x) a # x
247 #define astr(x) a %: x
248 #define astr(x) a %: x
251 #define cat(x,y) x##y /* { dg-message "previous definition" } */
252 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
254 #define cat(x,y) x##y /* { dg-message "previous definition" } */
255 #define cat(x,y) x## y /* { dg-warning "redefined" } */
257 #define cat(x,y) x##y /* { dg-message "previous definition" } */
258 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
260 #define cat(x,y) x##y /* { dg-message "previous definition" } */
261 #define cat(x,y) x ##y /* { dg-warning "redefined" } */
263 #define cat(x,y) x##y /* { dg-message "previous definition" } */
264 #define cat(x,y) x %:%:y /* { dg-warning "redefined" } */
266 #define cat(x,y) x##y /* { dg-message "previous definition" } */
267 #define cat(x,y) x ## y /* { dg-warning "redefined" } */
269 #define cat(x,y) x##y /* { dg-message "previous definition" } */
270 #define cat(x,y) x %:%: y /* { dg-warning "redefined" } */
272 #define cat(x,y) x%:%:y /* { dg-message "previous definition" } */
273 #define cat(x,y) x##y /* { dg-warning "redefined" } */
275 #define cat(x,y) x%:%:y /* { dg-message "previous definition" } */
276 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
278 #define cat(x,y) x%:%:y /* { dg-message "previous definition" } */
279 #define cat(x,y) x## y /* { dg-warning "redefined" } */
281 #define cat(x,y) x%:%:y /* { dg-message "previous definition" } */
282 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
284 #define cat(x,y) x%:%:y /* { dg-message "previous definition" } */
285 #define cat(x,y) x ##y /* { dg-warning "redefined" } */
287 #define cat(x,y) x%:%:y /* { dg-message "previous definition" } */
288 #define cat(x,y) x %:%:y /* { dg-warning "redefined" } */
290 #define cat(x,y) x%:%:y /* { dg-message "previous definition" } */
291 #define cat(x,y) x ## y /* { dg-warning "redefined" } */
293 #define cat(x,y) x%:%:y /* { dg-message "previous definition" } */
294 #define cat(x,y) x %:%: y /* { dg-warning "redefined" } */
296 #define cat(x,y) x## y /* { dg-message "previous definition" } */
297 #define cat(x,y) x##y /* { dg-warning "redefined" } */
299 #define cat(x,y) x## y /* { dg-message "previous definition" } */
300 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
302 #define cat(x,y) x## y /* { dg-message "previous definition" } */
303 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
305 #define cat(x,y) x## y /* { dg-message "previous definition" } */
306 #define cat(x,y) x ##y /* { dg-warning "redefined" } */
308 #define cat(x,y) x## y /* { dg-message "previous definition" } */
309 #define cat(x,y) x %:%:y /* { dg-warning "redefined" } */
311 #define cat(x,y) x## y /* { dg-message "previous definition" } */
312 #define cat(x,y) x ## y /* { dg-warning "redefined" } */
314 #define cat(x,y) x## y /* { dg-message "previous definition" } */
315 #define cat(x,y) x %:%: y /* { dg-warning "redefined" } */
317 #define cat(x,y) x%:%: y /* { dg-message "previous definition" } */
318 #define cat(x,y) x##y /* { dg-warning "redefined" } */
320 #define cat(x,y) x%:%: y /* { dg-message "previous definition" } */
321 #define cat(x,y) x## y /* { dg-warning "redefined" } */
323 #define cat(x,y) x%:%: y /* { dg-message "previous definition" } */
324 #define cat(x,y) x ##y /* { dg-warning "redefined" } */
326 #define cat(x,y) x%:%: y /* { dg-message "previous definition" } */
327 #define cat(x,y) x %:%:y /* { dg-warning "redefined" } */
329 #define cat(x,y) x%:%: y /* { dg-message "previous definition" } */
330 #define cat(x,y) x ## y /* { dg-warning "redefined" } */
332 #define cat(x,y) x%:%: y /* { dg-message "previous definition" } */
333 #define cat(x,y) x %:%: y /* { dg-warning "redefined" } */
335 #define cat(x,y) x ##y /* { dg-message "previous definition" } */
336 #define cat(x,y) x##y /* { dg-warning "redefined" } */
338 #define cat(x,y) x ##y /* { dg-message "previous definition" } */
339 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
341 #define cat(x,y) x ##y /* { dg-message "previous definition" } */
342 #define cat(x,y) x## y /* { dg-warning "redefined" } */
344 #define cat(x,y) x ##y /* { dg-message "previous definition" } */
345 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
347 #define cat(x,y) x ##y /* { dg-message "previous definition" } */
348 #define cat(x,y) x %:%:y /* { dg-warning "redefined" } */
350 #define cat(x,y) x ##y /* { dg-message "previous definition" } */
351 #define cat(x,y) x ## y /* { dg-warning "redefined" } */
353 #define cat(x,y) x ##y /* { dg-message "previous definition" } */
354 #define cat(x,y) x %:%: y /* { dg-warning "redefined" } */
356 #define cat(x,y) x %:%:y /* { dg-message "previous definition" } */
357 #define cat(x,y) x##y /* { dg-warning "redefined" } */
359 #define cat(x,y) x %:%:y /* { dg-message "previous definition" } */
360 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
362 #define cat(x,y) x %:%:y /* { dg-message "previous definition" } */
363 #define cat(x,y) x## y /* { dg-warning "redefined" } */
365 #define cat(x,y) x %:%:y /* { dg-message "previous definition" } */
366 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
368 #define cat(x,y) x %:%:y /* { dg-message "previous definition" } */
369 #define cat(x,y) x ##y /* { dg-warning "redefined" } */
371 #define cat(x,y) x %:%:y /* { dg-message "previous definition" } */
372 #define cat(x,y) x ## y /* { dg-warning "redefined" } */
374 #define cat(x,y) x %:%:y /* { dg-message "previous definition" } */
375 #define cat(x,y) x %:%: y /* { dg-warning "redefined" } */
377 #define cat(x,y) x ## y /* { dg-message "previous definition" } */
378 #define cat(x,y) x##y /* { dg-warning "redefined" } */
380 #define cat(x,y) x ## y /* { dg-message "previous definition" } */
381 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
383 #define cat(x,y) x ## y /* { dg-message "previous definition" } */
384 #define cat(x,y) x## y /* { dg-warning "redefined" } */
386 #define cat(x,y) x ## y /* { dg-message "previous definition" } */
387 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
389 #define cat(x,y) x ## y /* { dg-message "previous definition" } */
390 #define cat(x,y) x ##y /* { dg-warning "redefined" } */
392 #define cat(x,y) x ## y /* { dg-message "previous definition" } */
393 #define cat(x,y) x %:%:y /* { dg-warning "redefined" } */
395 #define cat(x,y) x ## y /* { dg-message "previous definition" } */
396 #define cat(x,y) x %:%: y /* { dg-warning "redefined" } */
398 #define cat(x,y) x %:%: y /* { dg-message "previous definition" } */
399 #define cat(x,y) x##y /* { dg-warning "redefined" } */
401 #define cat(x,y) x %:%: y /* { dg-message "previous definition" } */
402 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
404 #define cat(x,y) x %:%: y /* { dg-message "previous definition" } */
405 #define cat(x,y) x## y /* { dg-warning "redefined" } */
407 #define cat(x,y) x %:%: y /* { dg-message "previous definition" } */
408 #define cat(x,y) x%:%: y /* { dg-warning "redefined" } */
410 #define cat(x,y) x %:%: y /* { dg-message "previous definition" } */
411 #define cat(x,y) x ##y /* { dg-warning "redefined" } */
413 #define cat(x,y) x %:%: y /* { dg-message "previous definition" } */
414 #define cat(x,y) x %:%:y /* { dg-warning "redefined" } */
416 #define cat(x,y) x %:%: y /* { dg-message "previous definition" } */
417 #define cat(x,y) x ## y /* { dg-warning "redefined" } */
420 #define cat(x,y) x##y
421 #define cat(x,y) x##y
423 #define cat(x,y) x## y
424 #define cat(x,y) x## y
426 #define cat(x,y) x%:%: y
427 #define cat(x,y) x%:%: y
429 #define cat(x,y) x%:%: y
430 #define cat(x,y) x%:%: y
432 #define cat(x,y) x ##y
433 #define cat(x,y) x ##y
435 #define cat(x,y) x %:%:y
436 #define cat(x,y) x %:%:y
438 #define cat(x,y) x ## y
439 #define cat(x,y) x ## y
441 #define cat(x,y) x %:%: y
442 #define cat(x,y) x %:%: y
445 #define cat3(x,y,z) x##y##z /* { dg-message "previous definition" } */
446 #define cat3(x,y,z) x##y####z /* { dg-warning "redefined" } */
449 #define cat3(x,y,z) x##y####z /* { dg-message "previous definition" } */
450 #define cat3(x,y,z) x####y##z /* { dg-warning "redefined" } */
453 #define cat3(x,y,z) x##y####z /* { dg-message "previous definition" } */
454 #define cat3(x,y,z) x##y## ##z /* { dg-warning "redefined" } */
457 #define cat3(x,y,z) x##y####z /* { dg-message "previous definition" } */
458 #define cat3(x,y,z) x##y##%:%:z /* { dg-warning "redefined" } */
461 #define cat3(x,y,z) x##y######## ####z /* { dg-message "previous definition" } */
462 #define cat3(x,y,z) x##y############z /* { dg-warning "redefined" } */
465 #define cat3(x,y,z) x##y############z /* { dg-message "previous definition" } */
466 #define cat3(x,y,z) x##y########%:%:##z /* { dg-warning "redefined" } */
469 #define cat3(x,y,z) x##y##z
470 #define cat3(x,y,z) x##y##z
473 #define cat3(x,y,z) x##y####z
474 #define cat3(x,y,z) x##y####z
477 #define cat3(x,y,z) x####y##z
478 #define cat3(x,y,z) x####y##z
481 #define cat3(x,y,z) x##y## ##z
482 #define cat3(x,y,z) x##y## ##z
485 #define cat3(x,y,z) x##y##%:%:z
486 #define cat3(x,y,z) x##y##%:%:z
489 #define cat3(x,y,z) x##y######## ####z
490 #define cat3(x,y,z) x##y######## ####z
493 #define cat3(x,y,z) x##y############z
494 #define cat3(x,y,z) x##y############z
497 #define cat3(x,y,z) x##y########%:%:##z
498 #define cat3(x,y,z) x##y########%:%:##z