Imported Upstream version 2.9.0
[debian/cc1111] / src / regression / add4.c
1 #include "gpsim_assert.h"
2
3 unsigned char failures = 0;
4
5 //bit bit0 = 0;
6 int int0 = 0;
7 int int1 = 0;
8 char char0 = 0;
9 char char1 = 0;
10 long long0 = 0;
11 long long1 = 0;
12 unsigned long ulong0 = 0;
13 unsigned long ulong1 = 0;
14 #define NULL 0
15 char *cP0=NULL;
16 char *cP1=NULL;
17 int *iP0=NULL;
18 int *iP1=NULL;
19
20 void
21 done()
22 {
23   ASSERT(MANGLE(failures) == 0);
24   PASSED();
25 }
26
27 /* pointer to char arithmetic */
28
29 void pc_add(void)
30 {
31
32   if(*cP1)
33     failures++;
34
35   *cP1 += 1;
36   if(*cP1 != 1)
37     failures++;
38
39   if(char0 != 1)
40     failures++;
41
42   char0++;
43
44   if(*cP1 != 2)
45     failures++;
46
47   char1 = char0 + *cP1;
48
49   if(char1 != 4)
50     failures++;
51 }
52
53 /* pointer to integer arithmetic */
54 void pi_add(void)
55 {
56   if(*iP0)
57     failures++;
58
59   *iP0 += 1;
60
61   if(*iP0 != 1)
62     failures++;
63
64   if(int0 != 1)
65     failures++;
66
67   int1 = int0 + *iP0;
68   if(int1 != 2)
69     failures++;
70 }
71
72 void main(void)
73 {
74
75   cP1 = &char0;
76   pc_add();
77
78   iP0 = &int0;
79   pi_add();
80
81   done();
82 }