3 !!ORIGIN!! SDCC regression tests
4 !!LICENCE!! GPL, read COPYING.GPL
9 #define NO_IMPLICIT_FUNCPTR_CONV
11 unsigned char success=0;
12 unsigned char failures=0;
13 unsigned char dummy=0;
15 #ifdef SUPPORT_BIT_TYPES
18 unsigned int uint0 = 0;
19 unsigned int uint1 = 0;
22 * BUG: if these aren't volatile, an overzealous optimizer or somthing
23 * wreaks havoc with the simple tests like "if(uchar != 3)failures++"
27 unsigned char uchar0 = 0;
28 unsigned char uchar1 = 0;
29 unsigned char uchar2 = 0;
31 volatile unsigned char uchar0 = 0;
32 volatile unsigned char uchar1 = 0;
33 volatile unsigned char uchar2 = 0;
36 #ifdef NO_IMPLICIT_FUNCPTR_CONV
39 unsigned char (*pcfunc)(void);
43 unsigned char (*pcfunc)();
61 unsigned char call2(void)
77 for(i = 0; i < 3; i++) {
82 #ifdef NO_IMPLICIT_FUNCPTR_CONV
83 void docall2( void(*pf)(void) )
85 void docall2( void(*pf)() )
89 for(i = 0; i < 2; i++) {
125 uchar2 = (*pcfunc)();
129 uchar2 += (pcfunc)();
134 printf("failures: %d\n",failures);