* src/regression/add.c, src/regression/add2.c, src/regression/add3.c,
[fw/sdcc] / src / regression / arrays.c
1 #include "gpsim_assert.h"
2
3 unsigned char failures = 0;
4
5 bit bit0 = 0;
6 unsigned int aint0 = 0;
7 unsigned int aint1 = 0;
8 unsigned char achar0 = 0;
9 unsigned char achar1 = 0;
10
11 void
12 done()
13 {
14   ASSERT(MANGLE(failures) == 0);
15   PASSED();
16 }
17
18 void
19 bool_or1 (void)
20 {
21
22   if ((achar0 > 0) || (achar1 > 0))
23     failures++;
24 }
25
26 void
27 bool_or2 (void)
28 {
29
30   if (achar0 || achar1)
31     failures++;
32 }
33
34 void
35 bool_test1 (void)
36 {
37
38   if ((achar0 == 0) || achar1)
39     failures++;
40 }
41
42
43 void
44 bool_test2 (void)
45 {
46
47   if ((achar0 == 0) || aint0)
48     failures++;
49 }
50
51 void
52 bool_and1 (void)
53 {
54
55   if (achar0 && achar1)
56     failures++;
57 }
58
59 void
60 bin_or1 (void)
61 {
62
63   char t;
64
65   t = achar0 | achar1;
66   if (t)
67     failures++;
68 }
69
70 void
71 bin_xor1 (void)
72 {
73
74   if (achar0 ^ achar1)
75     failures++;
76 }
77
78
79 void
80 bool_test3 (void)
81 {
82
83   if ((achar0 == 0x42) || (achar1 == 42))
84     failures++;
85 }
86
87
88 void
89 bool_or_lit1 (void)
90 {
91
92   achar0 |= 0x0f;
93
94   if (achar0 > 0x10)
95     failures++;
96
97   if ((achar0 | 0x10) > 0xf0)
98     failures++;
99
100 }
101
102 void
103 bool_and_lit1 (void)
104 {
105
106   achar0 &= 0xf0;
107
108   if (achar0 > 0x10)
109     failures++;
110
111   if ((achar0 & 0x10) > 0xf0)
112     failures++;
113
114   achar0 &= 0xef;
115
116 }
117
118 void
119 main (void)
120 {
121
122   bool_or1 ();
123   bool_or2 ();
124   bool_and1 ();
125   bin_or1 ();
126   bin_xor1 ();
127
128   achar0++;
129   bool_and1 ();
130   bool_test1 ();
131   bool_test2 ();
132   bool_test3 ();
133
134
135   achar0--;
136   achar1++;
137   bool_and1 ();
138
139   achar0 = 0;
140   achar1 = 0;
141
142   bool_or_lit1 ();
143   bool_and_lit1 ();
144
145   done ();
146 }