blob: 127786d137a7e0519cc62cf3123aae748fc3cf45 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/*
Bug #3482146.
*/
#include <testfwk.h>
void
testBug(void)
{
#if !defined(__SDCC_mcs51) && !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) // Lack of memory
unsigned char buff[176];
unsigned char i;
for(i = 0; i < 22*8; ++i)
buff[i] = 0xff;
buff[0] = buff[1] = 0x42;
i = buff[0] - buff[1]; // The bug doesn't occur if you just use "i=0;"
buff[88 + i] = buff[16 + i];
buff[8 + i] = buff[i] >> 1;
buff[16 + i] = buff[8+i] >> 1; // This operation will not write into the right memory address
ASSERT(buff[16] == 0x10);
#endif
}
|