6 /* bit types are not ANSI - so provide a way of disabling bit types
7 * if this file is used to test other compilers besides SDCC */
8 #define SUPPORT_BIT_TYPES 1
10 /* Some compilers that support bit types do not support bit arithmetic
11 * (like bitx = bity + bitz;) */
12 #define SUPPORT_BIT_ARITHMETIC 1
14 unsigned char success=0;
15 unsigned char failures=0;
16 unsigned char dummy=0;
35 unsigned int aint0 = 0;
36 unsigned int aint1 = 0;
37 unsigned char achar0 = 0;
38 unsigned char achar1 = 0;
39 unsigned char achar2 = 0;
40 unsigned char achar3 = 0;
41 unsigned char *acharP = 0;
50 void sub_lit_from_uchar(void)
63 achar0 = achar0 -1; // Should be a decrement
67 for(achar1 = 0; achar1 < 100; achar1++)
78 void sub_uchar2uchar(void)
81 achar1 = achar1 - achar0;
86 for(achar2 = 0; achar2<7; achar2++)
97 // achar2, achar3 can be anything.
99 void sub_uchar2uchar2(void)
115 achar2 = achar1 - achar0;
120 achar3 = achar2 - achar1 - achar0;
127 // all bit variables are 0 upon entry.
129 #if SUPPORT_BIT_TYPES
140 bit1 = bit0-bit1; // 1 - 0 => 1
144 #if SUPPORT_BIT_ARITHMETIC
145 bit2 = bit1-bit0; // 1 - 1 => 0
151 bit3 = bit4-bit5-bit6-bit7-bit0; // 0-0-0-0-1 => 1
158 /* sub_bit2uchar(void) - assumes bit0 = 1, achar0 = 7 */
160 void sub_bit2uchar(void)
173 void sub_bit2uint(void)
185 void sub_ucharFromLit(void)
204 aint0 = 0x100 - aint0;
209 aint0 = 0xff00 - aint0;
214 aint0 = 0x0e01 - aint0;
219 aint0 = 0x10ff - aint0;
231 sub_lit_from_uchar();
242 #if SUPPORT_BIT_TYPES