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)13void __attribute__ ((interrupt_handler)) f1 (void) 14 { 15 x = y + 11; 16 } 17 f2(void)18void __attribute__ ((interrupt_handler)) f2 (void) 19 { 20 REPEAT30 (IN); 21 REPEAT30 (OUT); 22 } 23