/* bug-2235.c */ #include #ifdef __SDCC_mcs51 __sfr32 __at (0xFCFBFAF9) SFR32; #else volatile unsigned long SFR32; #endif void foo(unsigned long u1, unsigned long u2, unsigned long u3) { u1; u2; u3; } /* This failed to compile due to iTemps getting SFR storage class */ void testBug2235(void) { unsigned long U1, U2, U3; U1 = 0xABCDEF01 + SFR32; U2 = U1 + SFR32; U3 = U2 + SFR32; foo(U1, U2, U3); ASSERT(1); }