/* bug-2253.c was a bug in operand handling of operands that are outside the stack-pointer-offset range in code generation for wide division in the stm8 port. */ #include /* Reduce array size for ports that can't handle large local variables */ #if !defined(__SDCC_mcs51) && !defined(__SDCC_ds390) && !defined(__SDCC_pic14) && !defined(__SDCC_pic16) && !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) && !defined(__SDCC_STACK_AUTO) #define ARRAYSIZE 255 #else #define ARRAYSIZE 2 #endif char ad(char *p) { p; } unsigned int ss(unsigned int c, unsigned int d) { char s1[ARRAYSIZE]; ad(s1); return c / d; } void testBug(void) { ASSERT(ss(4, 2) == 2); }