Started PIC port (based on mcs51 port)
[fw/sdcc] / src / regression / compare.c
1 /*
2
3   PIC PORT Test code
4
5 */
6
7 /*
8   compare.c test compare
9
10 */
11
12 bit bit0=0;
13 bit bit1=0;
14
15 unsigned char success=0;
16 unsigned char failures=0;
17 unsigned char dummy=0;
18
19 unsigned char achar0 = 0;
20 unsigned char achar1 = 0;
21 unsigned int aint0 = 0;
22 unsigned int aint1 = 0;
23
24 char schar0=0;
25 char schar1=0;
26
27 void done()
28 {
29
30   dummy++;
31
32 }
33
34 /* achar0 should be zero */
35
36 void compare_char_to_lits1(void)
37 {
38
39   if(achar0)
40     failures++;
41
42   if(achar0 == 1)
43     failures++;
44
45   if(achar0 == 7)
46     failures++;
47
48   if(achar0 != 0)
49     failures++;
50 }
51
52 /* achar0 should be `5' */
53 void compare_char_to_lits2(void)
54 {
55
56   if(!achar0)
57     failures++;
58
59   if(achar0 == 1)
60     failures++;
61
62   if(achar0 == 7)
63     failures++;
64
65   if(achar0 != 5)
66     failures++;
67 }
68
69
70 /* achar0 should equal achar1 */
71 void compare_char_to_char1(void)
72 {
73
74   if(achar0 != achar1)
75     failures++;
76
77   if(schar0 != schar1)
78     failures++;
79 }
80
81 /* achar0 should be different than achar1 */
82 void compare_char_to_char2(void)
83 {
84
85   if(achar0 == achar1)
86     failures++;
87
88 }
89
90 /* aint0 should be zero */
91
92 void compare_int_to_lits1(void)
93 {
94
95   if(aint0)
96     failures++;
97
98   if(aint0 == 1)
99     failures++;
100
101   if(aint0 == 7)
102     failures++;
103
104   if(aint0 != 0)
105     failures++;
106 }
107
108 /* aint0 should be `5' */
109 void compare_int_to_lits2(void)
110 {
111
112   if(!aint0)
113     failures++;
114
115   if(aint0 == 1)
116     failures++;
117
118   if(aint0 == 7)
119     failures++;
120
121   if(aint0 != 5)
122     failures++;
123 }
124
125 /* aint0 should be `0x1234' */
126 void compare_int_to_lits3(void)
127 {
128
129   if(!aint0)
130     failures++;
131
132   if(aint0 == 1)
133     failures++;
134
135   if(aint0 == 7)
136     failures++;
137
138   if(aint0 != 0x1234)
139     failures++;
140 }
141
142 /* aint0 should equal aint1 */
143 void compare_int_to_int1(void)
144 {
145
146   if(aint0 != aint1)
147     failures++;
148
149 }
150
151 /* aint0 should be different than aint1 */
152 void compare_int_to_int2(void)
153 {
154
155   if(aint0 == aint1)
156     failures++;
157
158 }
159
160 void main(void)
161 {
162
163   compare_char_to_lits1();
164   compare_char_to_char1();
165   achar0 = 5;
166   compare_char_to_lits2();
167   compare_char_to_char2();
168
169
170   compare_int_to_lits1();
171   aint0 = 5;
172   compare_int_to_lits2();
173   aint0 = 0x1234;
174   compare_int_to_lits3();
175   compare_int_to_int2();
176   aint0 = 0;
177   compare_int_to_int1();
178
179   success = failures;
180   done();
181 }