1 /* { dg-do compile } */
2 int x;
3 volatile unsigned int y;
4 
5 #define REPEAT10(X, Y)					\
6   X(Y##0); X(Y##1); X(Y##2); X(Y##3); X(Y##4);		\
7   X(Y##5); X(Y##6); X(Y##7); X(Y##8); X(Y##9)
8 
9 #define REPEAT30(X) REPEAT10 (X, 0); REPEAT10 (X, 1); REPEAT10 (X, 2)
10 #define IN(X) unsigned int x##X = y
11 #define OUT(X) y = x##X
12 
f1(void)13 void __attribute__ ((interrupt_handler)) f1 (void)
14 {
15   x = y + 11;
16 }
17 
f2(void)18 void __attribute__ ((interrupt_handler)) f2 (void)
19 {
20   REPEAT30 (IN);
21   REPEAT30 (OUT);
22 }
23