1 /* This testcase triggered an attempt to reload a byte value into an 2 address register. */ 3 extern volatile unsigned char x[]; 4 5 #define DECLARE(I) orig##I, inc##I 6 #define READ(I) orig##I = x[I] 7 #define INC(I) inc##I = orig##I + 1 8 #define WRITE1(I) x[I] = orig##I 9 #define WRITE2(I) x[I] = inc##I 10 11 #define REPEAT(X) X(0), X(1), X(2), X(3), X(4), X(5), X(6), X(7), X(8) 12 foo(void)13void foo (void) 14 { 15 unsigned char REPEAT (DECLARE); 16 REPEAT (READ); 17 REPEAT (INC); 18 REPEAT (WRITE1); 19 REPEAT (WRITE2); 20 } 21