2 ** !!DESCRIPTION!! Simple tests about adding pointers and offsets
3 ** !!ORIGIN!! cc65 regression tests
4 ** !!LICENCE!! Public Domain
5 ** !!AUTHOR!! 2016-01-01, Greg King
10 static unsigned char failures = 0;
12 static char array[16];
18 /* These functions test: adding an offset variable to a pointer variable. */
20 static void cPointer_char(void)
26 if (cPtr != (void *)&array[3]) {
31 static void cPointer_int(void)
37 if (cPtr != (void *)&array[3]) {
42 static void cPointer_long(void)
48 if (cPtr != (void *)&array[3]) {
53 static void iPointer_char(void)
55 int *iP = (int *)array;
59 if (iPtr != (void *)&array[6]) {
64 static void iPointer_int(void)
66 int *iP = (int *)array;
70 if (iPtr != (void *)&array[6]) {
75 static void iPointer_long(void)
77 int *iP = (int *)array;
81 if (iPtr != (void *)&array[6]) {
86 static void lPointer_char(void)
88 long *lP = (long *)array;
92 if (lPtr != (void *)&array[12]) {
97 static void lPointer_int(void)
99 long *lP = (long *)array;
103 if (lPtr != (void *)&array[12]) {
108 static void lPointer_long(void)
110 long *lP = (long *)array;
114 if (lPtr != (void *)&array[12]) {
119 /* These functions test: adding a pointer variable to an offset variable. */
121 static void char_cPointer(void)
127 if (cPtr != (void *)&array[3]) {
132 static void int_cPointer(void)
138 if (cPtr != (void *)&array[3]) {
143 static void long_cPointer(void)
148 cPtr = (offset + cP);
149 if (cPtr != (void *)&array[3]) {
154 static void char_iPointer(void)
156 int *iP = (int *)array;
160 if (iPtr != (void *)&array[6]) {
165 static void int_iPointer(void)
167 int *iP = (int *)array;
171 if (iPtr != (void *)&array[6]) {
176 static void long_iPointer(void)
178 int *iP = (int *)array;
181 iPtr = (offset + iP);
182 if (iPtr != (void *)&array[6]) {
187 static void char_lPointer(void)
189 long *lP = (long *)array;
193 if (lPtr != (void *)&array[12]) {
198 static void int_lPointer(void)
200 long *lP = (long *)array;
204 if (lPtr != (void *)&array[12]) {
209 static void long_lPointer(void)
211 long *lP = (long *)array;
214 lPtr = (offset + lP);
215 if (lPtr != (void *)&array[12]) {
247 printf("add5: failures: %u\n", failures);