1 /*      bug-2235.c
2 */
3 
4 #include <testfwk.h>
5 
6 #ifdef __SDCC_mcs51
7 __sfr32 __at (0xFCFBFAF9) SFR32;
8 #else
9 volatile unsigned long SFR32;
10 #endif
11 
foo(unsigned long u1,unsigned long u2,unsigned long u3)12 void foo(unsigned long u1, unsigned long u2, unsigned long u3)
13 {
14         u1;
15         u2;
16         u3;
17 }
18 
19 /* This failed to compile due to iTemps getting SFR storage class */
testBug2235(void)20 void testBug2235(void)
21 {
22         unsigned long U1, U2, U3;
23 
24         U1 = 0xABCDEF01 + SFR32;
25         U2 = U1 + SFR32;
26         U3 = U2 + SFR32;
27         foo(U1, U2, U3);
28         ASSERT(1);
29 }
30