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