21 lines
495 B
C
21 lines
495 B
C
/* This testcase triggered an attempt to reload a byte value into an
|
|
address register. */
|
|
extern volatile unsigned char x[];
|
|
|
|
#define DECLARE(I) orig##I, inc##I
|
|
#define READ(I) orig##I = x[I]
|
|
#define INC(I) inc##I = orig##I + 1
|
|
#define WRITE1(I) x[I] = orig##I
|
|
#define WRITE2(I) x[I] = inc##I
|
|
|
|
#define REPEAT(X) X(0), X(1), X(2), X(3), X(4), X(5), X(6), X(7), X(8)
|
|
|
|
void foo (void)
|
|
{
|
|
unsigned char REPEAT (DECLARE);
|
|
REPEAT (READ);
|
|
REPEAT (INC);
|
|
REPEAT (WRITE1);
|
|
REPEAT (WRITE2);
|
|
}
|