Now the PIC port DOESN'T spew debug info by default.
[fw/sdcc] / src / regression / switch1.c
1 unsigned char success=0;
2 unsigned char failures=0;
3 unsigned char dummy=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
12 void done()
13 {
14
15   dummy++;
16
17 }
18
19 void switch1(void)
20 {
21
22
23   switch(achar0) {
24   case 0:
25     achar0 = 9;
26     break;
27   case 1:
28     achar0 = 18;
29     break;
30
31   default:
32     achar0 = 0;
33   }
34
35
36 }
37
38 void switch2(void)
39 {
40
41   switch(achar1) {
42   case 0:    achar0 = 9;    break;
43   case 1:    achar0 = 8;    break;
44   case 2:    achar0 = 7;    break;
45   case 3:    achar0 = 6;    break;
46   case 4:    achar0 = 5;    break;
47   case 5:    achar0 = 4;    break;
48   case 6:    achar0 = 3;    break;
49   case 7:    achar0 = 2;    break;
50   case 8:    achar0 = 1;    break;
51   case 9:    achar0 = 0;    break;
52   case 10:    achar0 = 9;    break;
53   case 11:    achar0 = 8;    break;
54   case 12:    achar0 = 7;    break;
55   default:    achar0 = 0xff;    break;
56   }
57
58 }
59
60 main(void)
61 {
62
63   achar0 = 0;
64   switch1();
65   if(achar0 != 9)
66     failures++;
67
68   switch1();
69   if(achar0 != 0)
70     failures++;
71
72   achar0++;
73
74   switch1();
75   if(achar0 != 18)
76     failures++;
77
78   for(achar1=0; achar1<10;achar1++){
79     switch2();
80     if(achar0 != (9-achar1))
81       failures++;
82
83   }
84
85   success=failures;
86   done();
87 }