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_int2int(void)
88 void add_lit2long(void)
104 long0 = long0 + 0x100;
109 long0 = long0 + 0xfe00;
113 long0 = long0 + 0xff0000;
114 if(long0 != 0x1000000)
117 long0 = long0 + 0x7e000000;
118 if(long0 != 0x7f000000)
121 /* wrap around zero */
122 long0 = long0 + 0x2000000;
123 if(long0 != -0x7f000000)
126 long0 = long0 + 0x7f000000;
132 void add_lit2ulong(void)
143 ulong0 = ulong0 + 0xff;
148 ulong0 = ulong0 + 0x100;
153 ulong0 = ulong0 + 0xfe00;
154 if(ulong0 != 0x10000)
157 ulong0 = ulong0 + 0xff0000;
158 if(ulong0 != 0x1000000)
161 ulong0 = ulong0 + 0x7e000000;
162 if(ulong0 != 0x7f000000)
165 ulong0 = ulong0 + 0x2000000;
166 if(ulong0 != 0x81000000)
169 /* wrap around zero */
170 ulong0 = ulong0 + 0x7f000000;