Imported Upstream version 2.9.0
[debian/cc1111] / support / regression / tests / using.c
1 /** Test register bank allocation for the "using" keyword.
2   using: no_proto, impl, both
3 */
4 #include <testfwk.h>
5
6 #define _{using}
7
8 #if defined (SDCC_mcs51) && defined (SDCC_MODEL_SMALL)
9
10   #ifndef _no_proto
11     #if defined (_both)
12       void my_isr (void) interrupt (1) using (1);
13     #else
14       void my_isr (void) interrupt (1);
15     #endif
16   #endif
17
18   data char array[8];
19
20   void my_isr (void) interrupt (1) using (1)
21   {
22     array[array[0]] = 1; //generate some register pressure
23   }
24
25 #endif
26
27 void testUsing (void)
28 {
29 #if defined (SDCC_mcs51) && defined (SDCC_MODEL_SMALL)
30   ASSERT ((unsigned char)(&array[0]) >= 0x10);
31   ASSERT ((unsigned char)&__numTests >= 0x10);
32 #endif
33 }