1/* { dg-do compile } */
2int x;
3volatile 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
13void __attribute__ ((interrupt_handler)) f1 (void)
14{
15  x = y + 11;
16}
17
18void __attribute__ ((interrupt_handler)) f2 (void)
19{
20  REPEAT30 (IN);
21  REPEAT30 (OUT);
22}
23