1*1f5207b7SJohn Levon #define H(x,...) ,##x##__VA_ARGS__##,##__VA_ARGS__
2*1f5207b7SJohn Levon H()
3*1f5207b7SJohn Levon H(x)
4*1f5207b7SJohn Levon H(,)
5*1f5207b7SJohn Levon H(x,)
6*1f5207b7SJohn Levon H(,x)
7*1f5207b7SJohn Levon H(x,x)
8*1f5207b7SJohn Levon #define I(x,...) ,##x##__VA_ARGS__
9*1f5207b7SJohn Levon I()
10*1f5207b7SJohn Levon I(x)
11*1f5207b7SJohn Levon I(,)
12*1f5207b7SJohn Levon I(x,)
13*1f5207b7SJohn Levon I(,x)
14*1f5207b7SJohn Levon I(x,x)
15*1f5207b7SJohn Levon #define J(...) ,##__VA_ARGS__
16*1f5207b7SJohn Levon J()
17*1f5207b7SJohn Levon J(x)
18*1f5207b7SJohn Levon /*
19*1f5207b7SJohn Levon  * check-name: Preprocessor #23
20*1f5207b7SJohn Levon  * check-command: sparse -E $file
21*1f5207b7SJohn Levon  *
22*1f5207b7SJohn Levon  * check-output-start
23*1f5207b7SJohn Levon 
24*1f5207b7SJohn Levon ,
25*1f5207b7SJohn Levon ,x
26*1f5207b7SJohn Levon ,,
27*1f5207b7SJohn Levon ,x,
28*1f5207b7SJohn Levon ,x,x
29*1f5207b7SJohn Levon ,xx,x
30*1f5207b7SJohn Levon ,x
31*1f5207b7SJohn Levon ,
32*1f5207b7SJohn Levon ,x
33*1f5207b7SJohn Levon ,x
34*1f5207b7SJohn Levon ,xx
35*1f5207b7SJohn Levon ,x
36*1f5207b7SJohn Levon  * check-output-end
37*1f5207b7SJohn Levon  *
38*1f5207b7SJohn Levon  * check-error-start
39*1f5207b7SJohn Levon preprocessor/preprocessor23.c:3:1: error: '##' failed: concatenation is not a valid token
40*1f5207b7SJohn Levon preprocessor/preprocessor23.c:4:1: error: '##' failed: concatenation is not a valid token
41*1f5207b7SJohn Levon preprocessor/preprocessor23.c:5:1: error: '##' failed: concatenation is not a valid token
42*1f5207b7SJohn Levon preprocessor/preprocessor23.c:5:1: error: '##' failed: concatenation is not a valid token
43*1f5207b7SJohn Levon preprocessor/preprocessor23.c:6:1: error: '##' failed: concatenation is not a valid token
44*1f5207b7SJohn Levon preprocessor/preprocessor23.c:6:1: error: '##' failed: concatenation is not a valid token
45*1f5207b7SJohn Levon preprocessor/preprocessor23.c:7:1: error: '##' failed: concatenation is not a valid token
46*1f5207b7SJohn Levon preprocessor/preprocessor23.c:7:1: error: '##' failed: concatenation is not a valid token
47*1f5207b7SJohn Levon preprocessor/preprocessor23.c:10:1: error: '##' failed: concatenation is not a valid token
48*1f5207b7SJohn Levon preprocessor/preprocessor23.c:12:1: error: '##' failed: concatenation is not a valid token
49*1f5207b7SJohn Levon preprocessor/preprocessor23.c:14:1: error: '##' failed: concatenation is not a valid token
50*1f5207b7SJohn Levon  * check-error-end
51*1f5207b7SJohn Levon  */
52