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