3 type: bit, char, short, long
7 /* This is not only a regression test, the focus of this test
8 is more on the generated code (volatile!). */
13 #if defined(_bit) || defined(SDCC_hc08)
19 #if defined(PORT_HOST) || defined(SDCC_z80) || defined(SDCC_gbz80) || defined(SDCC_hc08) || defined(SDCC_pic16)
23 #if defined(_bit) && !defined(NO_BIT_TYPE)
25 #elif defined(_bit) && defined(NO_BIT_TYPE)
26 # if defined(PORT_HOST)
27 # define MASK 0xffffffff
37 # define MASK 0xffffffff
39 # warning Unknown type
42 /* the variable 'mask' is only defined to see if MASK is correctly set up */
43 const unsigned long mask = MASK;
46 volatile unsigned {type} uv;
47 /* an array would be nicer, but an array of bits isn't possible */
48 _data {type} a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 ,
49 a10, a11, a12, a13, a14, a15, a16, a17, a18, a19,
51 _data unsigned {type} ua0, ua1, ua2, ua3, ua4, ua5, ua6;
53 _data volatile unsigned {type} ub = 0xbe;
113 #if defined(_bit) && !defined(NO_BIT_TYPE)
116 ASSERT( a3 == ({type}) 0x33);
119 #if defined(_bit) && !defined(NO_BIT_TYPE)
122 ASSERT(ua1 == ({type}) 0x7b);
125 #if defined(_bit) && !defined(NO_BIT_TYPE)
128 ASSERT( a5 == ({type}) 0x33);
135 ASSERT( a10 == ({type}) MASK);
136 ASSERT( a11 == ({type}) MASK);
142 ASSERT( a15 == ({type}) MASK);
145 ASSERT( a17 == ({type}) MASK);
149 ASSERT( v == ({type}) MASK);