2 // Addition tests - mostly int's
4 /* bit types are not ANSI - so provide a way of disabling bit types
5 * if this file is used to test other compilers besides SDCC */
6 #define SUPPORT_BIT_TYPES 1
9 unsigned char success=0;
10 unsigned char failures=0;
11 unsigned char dummy=0;
21 unsigned long ulong0 = 0;
22 unsigned long ulong1 = 0;
49 void add_char2char(void)
56 char0 = char0 + char1;
71 void add_compound_char(void)
78 if((char0+char1) != 13)
82 void add_int2int(void)
99 void add_compound_int(void)
106 if((int0+int1) != 13)
111 void add_lit2long(void)
122 long0 = long0 + 0xff;
127 long0 = long0 + 0x100;
132 long0 = long0 + 0xfe00;
136 long0 = long0 + 0xff0000;
137 if(long0 != 0x1000000)
140 long0 = long0 + 0x7e000000;
141 if(long0 != 0x7f000000)
144 /* wrap around zero */
145 long0 = long0 + 0x2000000;
146 if(long0 != -0x7f000000)
149 long0 = long0 + 0x7f000000;
155 void add_lit2ulong(void)
166 ulong0 = ulong0 + 0xff;
171 ulong0 = ulong0 + 0x100;
176 ulong0 = ulong0 + 0xfe00;
177 if(ulong0 != 0x10000)
180 ulong0 = ulong0 + 0xff0000;
181 if(ulong0 != 0x1000000)
184 ulong0 = ulong0 + 0x7e000000;
185 if(ulong0 != 0x7f000000)
188 ulong0 = ulong0 + 0x2000000;
189 if(ulong0 != 0x81000000)
192 /* wrap around zero */
193 ulong0 = ulong0 + 0x7f000000;