Added regression tests for compound comparisons.
[fw/sdcc] / src / regression / bool3.c
1 #define __16F873
2 #include "p16f873.h"
3
4
5 /* Compound comparisons */
6
7
8 unsigned char success=0;
9 unsigned char failures=0;
10 unsigned char dummy=0;
11
12 bit bit0 = 0;
13 bit bit1 = 0;
14 unsigned int ui0 = 0;
15 unsigned int ui1 = 0;
16 unsigned char uc0 = 0;
17 unsigned char uc1 = 0;
18 unsigned long uL0 = 0;
19 unsigned long uL1 = 0;
20
21 void done()
22 {
23
24   dummy++;
25
26 }
27
28
29
30 void compound_compare_uc(void)
31 {
32
33   failures += (uc0 != uc1);
34
35 }
36
37
38 void compound_compare_ui(void)
39 {
40
41   failures += (ui0 != ui1);
42
43 }
44
45 void compound_compare_ul(void)
46 {
47
48   failures += (uL0 != uL1);
49
50 }
51
52 void compound_compare_uc_lit(void)
53 {
54
55   failures += (uc0 != 0xff);
56   failures += (uc0 != 0xff);
57   failures += (uc0 == 0);
58
59 }
60
61 void main(void)
62 {
63
64   compound_compare_uc();
65   compound_compare_ui();
66   compound_compare_ul();
67
68   uc0 = 0xff;
69   compound_compare_uc_lit();
70
71   success = failures;
72   done();
73 }