struct / union in initializer, RFE #901.
[sdcc.git] / sdcc / support / regression / tests / bug3482146.c
blob127786d137a7e0519cc62cf3123aae748fc3cf45
1 /*
2 Bug #3482146.
3 */
5 #include <testfwk.h>
7 void
8 testBug(void)
10 #if !defined(__SDCC_mcs51) && !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) // Lack of memory
11 unsigned char buff[176];
12 unsigned char i;
13 for(i = 0; i < 22*8; ++i)
14 buff[i] = 0xff;
15 buff[0] = buff[1] = 0x42;
16 i = buff[0] - buff[1]; // The bug doesn't occur if you just use "i=0;"
18 buff[88 + i] = buff[16 + i];
20 buff[8 + i] = buff[i] >> 1;
21 buff[16 + i] = buff[8+i] >> 1; // This operation will not write into the right memory address
23 ASSERT(buff[16] == 0x10);
24 #endif