* src/regression/ptrarg.c: added, fails due to bug #1430967
[fw/sdcc] / src / regression / bool1.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 bool_or1(void)
19 {
20
21   if( (achar0 >0) || (achar1 >0 ))
22     failures++;
23 }
24
25 void bool_or2(void)
26 {
27
28   if( achar0 || achar1)
29     failures++;
30 }
31
32 void bool_test1(void)
33 {
34
35   if( (achar0==0) || achar1)
36     failures++;
37 }
38
39
40 void bool_test2(void)
41 {
42
43   if( (achar0==0) || aint0)
44     failures++;
45 }
46
47 void bool_and1(void)
48 {
49
50   if( achar0 && achar1)
51     failures++;
52 }
53
54 void bin_or1(void)
55 {
56
57   char t;
58
59   t = achar0 | achar1;
60   if(t)
61     failures++;
62 }
63
64 void bin_xor1(void)
65 {
66
67   if(achar0 ^ achar1)
68     failures++;
69 }
70
71
72 void bool_test3(void)
73 {
74
75   if((achar0 == 0x42) || (achar1 == 42))
76     failures++;
77 }
78
79
80 void bool_or_lit1(void)
81 {
82
83   achar0 |= 0x0f;
84
85   if(achar0 > 0x10)
86     failures++;
87
88   if( (achar0 | 0x10) > 0xf0)
89     failures++;
90
91 }
92
93 void bool_and_lit1(void)
94 {
95
96   achar0 &= 0xf0;
97
98   if(achar0 > 0x10)
99     failures++;
100
101   if( (achar0 & 0x10) > 0xf0)
102     failures++;
103
104   achar0 &= 0xef;
105
106 }
107
108 void main(void)
109 {
110
111   bool_or1();
112   bool_or2();
113   bool_and1();
114   bin_or1();
115   bin_xor1();
116
117   achar0++;
118   bool_and1();
119   bool_test1();
120   bool_test2();
121   bool_test3();
122
123
124   achar0--; achar1++;
125   bool_and1();
126
127   achar0=0;
128   achar1=0;
129
130   bool_or_lit1();
131   bool_and_lit1();
132
133   done();
134 }