1 /* { dg-do run } */
2 
3 #define D_2 1, 2
4 #define C_2(X, I0, I1) X##_a = I0, X##_b = I1
5 #define B_2(X, I) C_2(X, I)
6 #define A(N, X) B_##N (X, D_##N)
7 
8 extern void abort(void);
9 extern void exit(int);
10 
11 int x_a, x_b;
12 
main(void)13 int main(void)
14 {
15   A(2, x);
16   if (x_a != 1 || x_b != 2)
17     abort();
18   exit(0);
19 }
20