PIC port on going development.most of addition, arrays, pointers,
[fw/sdcc] / src / regression / pointer1.c
1 //#include "p16c84.h"
2 // Pointer tests
3
4 unsigned char success=0;
5 unsigned char failures=0;
6 unsigned char dummy=0;
7
8 bit bit0 = 0;
9 unsigned int aint0 = 0;
10 unsigned int aint1 = 0;
11 unsigned char achar0 = 0;
12 unsigned char achar1 = 0;
13 unsigned char *acharP = 0;
14
15 void done()
16 {
17
18   dummy++;
19
20 }
21
22 void f1(unsigned char *ucP)
23 {
24
25   if(ucP==0) {
26     failures++;
27     return;
28   }
29
30    if(*ucP)
31       failures++;
32 }
33
34 void f2(unsigned int *uiP)
35 {
36
37   if(uiP==0) {
38     failures++;
39     return;
40   }
41
42   if(*uiP)
43     failures++;
44
45 }
46
47 unsigned char *f3(void)
48 {
49
50   return &achar0;
51 }
52
53 void main(void)
54 {
55   f1(&achar0);
56   f2(&aint0);
57
58   acharP = f3();
59   if( (acharP == 0) || (*acharP))
60       failures++;
61
62   success = failures;
63   done();
64 }