4 // Addition tests - mostly int's
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
11 unsigned char success=0;
12 unsigned char failures=0;
13 unsigned char dummy=0;
23 unsigned long ulong0 = 0;
24 unsigned long ulong1 = 0;
51 void add_char2char(void)
58 char0 = char0 + char1;
73 void add_compound_char(void)
80 if((char0+char1) != 13)
84 void add_int2int(void)
101 void add_compound_int(void)
108 if((int0+int1) != 13)
113 void add_lit2long(void)
124 long0 = long0 + 0xff;
129 long0 = long0 + 0x100;
134 long0 = long0 + 0xfe00;
138 long0 = long0 + 0xff0000;
139 if(long0 != 0x1000000)
142 long0 = long0 + 0x7e000000;
143 if(long0 != 0x7f000000)
146 /* wrap around zero */
147 long0 = long0 + 0x2000000;
148 if(long0 != -0x7f000000)
151 long0 = long0 + 0x7f000000;
157 void add_lit2ulong(void)
168 ulong0 = ulong0 + 0xff;
173 ulong0 = ulong0 + 0x100;
178 ulong0 = ulong0 + 0xfe00;
179 if(ulong0 != 0x10000)
182 ulong0 = ulong0 + 0xff0000;
183 if(ulong0 != 0x1000000)
186 ulong0 = ulong0 + 0x7e000000;
187 if(ulong0 != 0x7f000000)
190 ulong0 = ulong0 + 0x2000000;
191 if(ulong0 != 0x81000000)
194 /* wrap around zero */
195 ulong0 = ulong0 + 0x7f000000;