2 !!DESCRIPTION!! regression testing program for comparing signed chars and ints
3 !!ORIGIN!! SDCC regression tests
4 !!LICENCE!! GPL, read COPYING.GPL
14 /*#define COMPARE_OUT_OF_RANGE 1*/
16 unsigned char success = 0;
17 unsigned char failures = 0;
18 unsigned char dummy = 0;
20 #ifdef SUPPORT_BIT_TYPES
23 #ifdef SIZEOF_INT_16BIT
24 #if defined(__LINUX__) || defined(LINUX)
40 signed char char0 = 0;
41 signed char char1 = 0;
144 if((unsigned char)char0 != 0xff)
147 if((unsigned short)int0 != 0xff)
150 if((unsigned short)int0 == 0xfe)
153 if((unsigned short)int0 == 0xff00)
164 if((unsigned char)char0 != 0xa5)
167 if((unsigned short)int0 != 0xa5)
170 if((unsigned short)int0 == 0xa4)
173 if((unsigned short)int0 == 0xa500)
184 #ifdef COMPARE_OUT_OF_RANGE
189 if((unsigned short)int0 != 0xa500)
195 if((unsigned short)int0 == 0xa400)
209 #ifdef COMPARE_OUT_OF_RANGE
217 if((unsigned short)int0 == 0xab00)
226 if((unsigned short)int0 == 0xab05)
229 if((unsigned short)int0 == 0xab01)
238 #ifdef COMPARE_OUT_OF_RANGE
239 if(int0 == 0x1234abcd)
244 /* assumes char1 == 0 */
256 /* assumes char0 = -1
264 printf("%d\n",failures);
269 printf("%d\n",failures);
274 printf("%d\n",failures);
279 printf("%d\n",failures);
284 printf("%d\n",failures);
292 printf("%d\n",failures);
300 printf("failures: %d\n",failures);
302 printf("failures: %d\n",failures);
307 printf("failures: %d\n",failures);
312 printf("failures: %d\n",failures);
317 printf("failures: %d\n",failures);
325 printf("failures: %d\n",failures);
329 printf("failures: %d\n",failures);
334 printf("failures: %d\n",failures);
339 printf("failures: %d\n",failures);
346 printf("failures: %d\n",failures);