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