projects
/
fw
/
sdcc
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Fixed shifts by varaibles. Added rotate test code to src/regression
[fw/sdcc]
/
src
/
regression
/
add4.c
1
unsigned char success = 0;
2
unsigned char failures = 0;
3
unsigned char dummy = 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
24
dummy++;
25
26
}
27
28
29
/* pointer to char arithmetic */
30
31
void pc_add(void)
32
{
33
34
if(*cP1)
35
failures++;
36
37
*cP1 += 1;
38
if(*cP1 != 1)
39
failures++;
40
41
if(char0 != 1)
42
failures++;
43
44
char0++;
45
46
if(*cP1 != 2)
47
failures++;
48
49
char1 = char0 + *cP1;
50
51
if(char1 != 4)
52
failures++;
53
}
54
55
/* pointer to integer arithmetic */
56
void pi_add(void)
57
{
58
if(*iP0)
59
failures++;
60
61
*iP0 += 1;
62
63
if(*iP0 != 1)
64
failures++;
65
66
if(int0 != 1)
67
failures++;
68
69
int1 = int0 + *iP0;
70
if(int1 != 2)
71
failures++;
72
}
73
74
void main(void)
75
{
76
77
cP1 = &char0;
78
pc_add();
79
80
iP0 = &int0;
81
pi_add();
82
83
success = failures;
84
done();
85
}