blob: a61d5eb526a0b831f9bda52043c6e3d74db4e424 (
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
/*
* [ 2655200 ] pointer to pdata memory not correctly initialized
*
* test_array[..] = &thing_pdata
* was incorrect
*
* SDCCclue.c(initPointer)
* ... SPEC_SCLS (expr->left->etype) == S_PDATA)
* was not handeled
*/
#include <testfwk.h>
#include <stdint.h>
char thing;
#if defined (__SDCC_mcs51) || defined (__SDCC_ds390)
__code char thing_code = 0;
__data char thing_data;
__idata char thing_idata;
__xdata char thing_xdata;
__pdata char thing_pdata;
__pdata char thing_apdata[2];
#endif
const char * __code test_array[] = {
&thing
#if defined (__SDCC_mcs51) || defined (__SDCC_ds390)
, &thing_code
, &thing_data, &thing_idata, &thing_xdata, &thing_pdata
, thing_apdata, (char *)thing_apdata
#endif
};
const char *gime_thing() { return &thing; }
#if defined (__SDCC_mcs51) || defined (__SDCC_ds390)
const char *gime_thing_code() { return &thing_code; }
const char *gime_thing_data() { return &thing_data; }
const char *gime_thing_idata() { return &thing_idata; }
const char *gime_thing_xdata() { return &thing_xdata; }
const char *gime_thing_pdata() { return &thing_pdata; }
const char *gime_thing_apdata() { return thing_apdata; }
#endif
void
testBug(void)
{
ASSERT(test_array[0] == gime_thing());
#if defined (__SDCC_mcs51) || defined (__SDCC_ds390)
ASSERT(test_array[1] == gime_thing_code());
ASSERT(test_array[2] == gime_thing_data());
ASSERT(test_array[3] == gime_thing_idata());
ASSERT(test_array[4] == gime_thing_xdata());
ASSERT(test_array[5] == gime_thing_pdata());
ASSERT(test_array[6] == gime_thing_apdata());
ASSERT(test_array[7] == gime_thing_apdata());
#endif
}
|