1 /* { dg-do compile } */
2 
3 #define X(new,old) int i ## new = i ## old + i ## old;
4 #define Y(pfx) X(pfx ## 1, pfx) \
5   X(pfx ## 2, pfx ## 1) \
6   X(pfx ## 3, pfx ## 2) \
7   X(pfx ## 4, pfx ## 3) \
8   X(pfx ## 5, pfx ## 4) \
9   X(pfx ## 6, pfx ## 5) \
10   X(pfx ## 7, pfx ## 6) \
11   X(pfx ## 8, pfx ## 7) \
12   X(pfx ## 9, pfx ## 8)
13 
foo(int i1)14 void foo (int i1)
15 {
16   Y(1)
17   Y(11)
18   Y(111)
19   asm ("" : : "X" (i1));
20 }
21