Imported Upstream version 2.9.0
[debian/cc1111] / support / regression / tests / scott-compare3.c
1 /**
2    compare3.c
3    regression testing program for comparing literals to variables
4 */
5 #include <testfwk.h>
6
7 unsigned int aint0 = 0;
8 unsigned int aint1 = 0;
9 unsigned char achar0 = 0;
10 unsigned char achar1 = 0;
11
12 // compare to 0
13 // assumes
14 // achar0 == 0
15 // achar1 != 0
16 // aint0  == 0
17 // aint1  != 0
18
19 void c_0(void)
20 {
21
22   ASSERT(!(achar0 != 0));
23
24   ASSERT(!(achar0));
25
26   ASSERT(!(achar1 == 0));
27
28   ASSERT(!(!achar1));
29
30   ASSERT(!(aint0 != 0));
31
32   ASSERT(!(aint0));
33
34   ASSERT(!(aint1 == 0));
35
36   ASSERT(!(!aint1));
37
38 }
39
40 // compare to 1
41 // assumes
42 // achar0 != 1
43 // achar1 == 1
44 // aint0  != 1
45 // aint1  == 1
46
47 void c_1(void)
48 {
49
50   ASSERT(!(achar0 == 1));
51
52   ASSERT(!(achar1 != 1));
53
54   ASSERT(!(aint0 == 1));
55
56   ASSERT(!(aint1 != 1));
57
58 }
59
60 // compare to 2
61 // assumes
62 // achar0 == 2
63 // aint0  == 2
64
65 void c_2(void)
66 {
67
68   ASSERT(!(achar0 != 2));
69
70   ASSERT(!(aint0 != 2));
71
72 }
73
74 // compare to 0xff
75 // assumes
76 // achar0 == 0xff
77 // aint0  == 0xff
78
79 void c_ff(void)
80 {
81
82   ASSERT(!(achar0 != 0xff));
83
84   ASSERT(!(aint0 != 0xff));
85
86   ASSERT(!(aint0 == 0xfe));
87
88   ASSERT(!(aint0 == 0xff00U));
89
90 }
91
92
93 // compare to 0x00a5
94 // assumes
95 // achar0  == 0xa5
96 // aint0  == 0x00a5
97
98 void c_a5(void)
99 {
100
101   ASSERT(!(achar0 != 0xa5));
102
103   ASSERT(!(aint0 != 0xa5));
104
105   ASSERT(!(aint0 == 0xa4));
106
107   ASSERT(!(aint0 == 0xa500U));
108
109 }
110
111 // compare to 0xa500
112 // assumes
113 // achar0  == 0xa5
114 // aint0  == 0xa500
115
116 void c_a500(void)
117 {
118
119   ASSERT(!(achar0 == (unsigned char)0xa500U));
120
121   ASSERT(!(aint0 != 0xa500U));
122
123   ASSERT(!(aint0 == 0xa400U));
124
125   ASSERT(!(aint0 == 0x00a5));
126
127 }
128
129 // compare to 0xabcd
130 // assumes
131 // achar0  == 0xa5
132 // aint0  == 0xabcd
133
134 void c_abcd(void)
135 {
136
137   ASSERT(!(achar0 == (unsigned char)0xabcdU));
138
139   ASSERT(!(aint0 != 0xabcdU));
140
141   ASSERT(!(aint0 == 0xab00U));
142
143   ASSERT(!(aint0 == 0x00cd));
144
145   ASSERT(aint0 == (unsigned short int)0x1234abcdU);
146
147 }
148
149 void
150 testCompare3 (void)
151 {
152
153   aint1 = 1;
154   achar1 = 1;
155   c_0();
156   c_1();
157
158   aint0 = 2;
159   achar0 = 2;
160   c_2();
161
162   aint0 = 0xff;
163   achar0 = 0xff;
164   c_ff();
165
166   aint0 = 0xa5;
167   achar0 = 0xa5;
168   c_a5();
169
170   aint0 = 0xabcd;
171   c_abcd();
172 }