* src/regression/Makefile: removed bool2.c test, added -q linker option
[fw/sdcc] / src / regression / for.c
1 #include "gpsim_assert.h"
2
3 unsigned char failures=0;
4
5 unsigned int uint0 = 0;
6 unsigned int uint1 = 0;
7 unsigned char uchar0 = 0;
8 unsigned char uchar1 = 0;
9
10 void
11 done()
12 {
13   ASSERT(MANGLE(failures) == 0);
14   PASSED();
15 }
16
17 void for1(void)
18 {
19   unsigned char i=0;
20
21   for(i=0; i<10; i++)
22     uchar0++;
23
24   if(uchar0 != 10)
25     failures++;
26
27 }
28
29 void for2(void)
30 {
31   unsigned char i=0;
32
33   for(i=0; i<10; i++)
34     uchar0++;
35
36   if(i < 10)
37     failures++;
38
39 }
40
41 void for3(void)
42 {
43   unsigned int i=0;
44
45   for(i=0; i<10; i++)
46     uint0++;
47
48   if(i < 10)
49     failures++;
50
51 }
52
53 void for4(void)
54 {
55
56   for(uint0=1; uint0<10; uint0++)
57     uchar0++;
58
59   if(uchar0 != 9)
60     failures++;
61
62 }
63
64 void for5(void)
65 {
66
67   for(uint0=1; uint0<=10; uint0++)
68     uchar0++;
69
70   if(uchar0 != 10)
71     failures++;
72
73 }
74
75 void inc_uchar0(void)
76 {
77   uchar0++;
78 }
79
80 void for6(void)
81 {
82   uchar0 = 0;
83   for(uint0=1; uint0<=10; uint0++)
84     inc_uchar0();
85
86 }
87
88 void main(void)
89 {
90   for1();
91   for2();
92   for3();
93   uchar0 = 0;
94   for4();
95   uchar0 = 0;
96   for5();
97
98   for6();
99   if(uchar0 != 10)
100     failures++;
101
102   done();
103 }