Added more PIC regression testing.
[fw/sdcc] / src / regression / add3.c
1
2 // Addition tests - mostly int's
3
4 /* bit types are not ANSI - so provide a way of disabling bit types
5  * if this file is used to test other compilers besides SDCC */
6 #define SUPPORT_BIT_TYPES 1
7
8
9 unsigned char success=0;
10 unsigned char failures=0;
11 unsigned char dummy=0;
12
13
14 char char0 = 0;
15 char char1 = 0;
16 char char2 = 0;
17
18 #if SUPPORT_BIT_TYPES
19
20 bit bit0 = 0;
21 bit bit1 = 0;
22 bit bit2 = 0;
23 bit bit3 = 0;
24 bit bit4 = 0;
25 bit bit5 = 0;
26 bit bit6 = 0;
27 bit bit7 = 0;
28 bit bit8 = 0;
29 bit bit9 = 0;
30 bit bit10 = 0;
31 bit bit11 = 0;
32
33 #endif
34
35
36 void done()
37 {
38
39   dummy++;
40
41 }
42
43 void add_char2char(void)
44 {
45   if(char0 != 4)
46     failures++;
47   if(char1 != 5)
48     failures++;
49
50   char0 = char0 + char1;
51
52   if(char0 != 9)
53     failures++;
54
55   char0 += 127;
56   if(char0 > 0)
57     failures++;
58
59   if(char0 != -0x78)
60     failures++;
61
62
63 }
64
65
66 void main(void)
67 {
68   char0=4;
69   char1 = char0 + 1;
70   add_char2char();
71
72   success = failures;
73   done();
74 }