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