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
14void foo (int i1)
15{
16  Y(1)
17  Y(11)
18  Y(111)
19  asm ("" : : "X" (i1));
20}
21