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