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