1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
/*
!!DESCRIPTION!!
!!ORIGIN!! SDCC regression tests
!!LICENCE!! GPL, read COPYING.GPL
*/
#include <stdio.h>
#include <limits.h>
unsigned char success = 0;
unsigned char failures = 0;
unsigned char dummy = 0;
#ifdef SUPPORT_BIT_TYPES
bit bit0 = 0;
#endif
unsigned int uint0 = 0;
unsigned int uint1 = 0;
unsigned char uchar0 = 0;
unsigned char uchar1 = 0;
unsigned char call3 (void);
void
done ()
{
dummy++;
}
void
call1 (unsigned char uc0)
{
if (uc0)
failures++;
}
void
call2 (unsigned int ui0)
{
if (ui0)
failures++;
}
unsigned char
call3 (void)
{
if (uchar0)
failures++;
return (failures);
}
unsigned int
call4 (void)
{
unsigned int i = 0;
if (uint0)
i++;
return (i);
}
unsigned int
call5 (unsigned int k)
{
if (k)
failures++;
return (k);
}
unsigned char
call6a(unsigned char uc)
{
if(uc>uchar1)
return 1;
else
return 0;
}
unsigned char
call6(unsigned char uc)
{
return(call6a(uc));
}
unsigned int
call7a(unsigned int ui)
{
if(ui)
return 1;
else
return 0;
}
unsigned int
call7(unsigned int ui)
{
return(call7a(ui));
}
unsigned char
call8(unsigned char uc1,unsigned char uc2)
{
return uc1+uc2;
}
void call9(unsigned int ui1, unsigned int ui2)
{
if(ui1 != 0x1234)
failures++;
if(ui2 != 0x5678)
failures++;
}
int
main (void)
{
call1 (uchar0);
call2 (uint0);
uchar1 = call3 ();
uint1 = call4 ();
if (uint1)
failures++;
uint1 = call5 (uint0);
if (uint1)
failures++;
if(call6(uchar0))
failures++;
if(call7(0))
failures++;
if(!call7(1))
failures++;
if(!call7(0xff00))
failures++;
uchar0=4;
uchar1=3;
uchar0 = call8(uchar0,uchar1);
if(uchar0 != 7)
failures++;
call9(0x1234,0x5678);
success = failures;
done ();
printf("failures: %d\n",failures);
return failures;
}
|