OSDN Git Service

Latest updates from FSF 4.7 branch
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / xstormy16 / sfr / 23_if0_sfrb_bitfield_7.c
1 /* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */
2
3 typedef struct
4 {
5   unsigned char b0:1;
6   unsigned char b1:1;
7   unsigned char b2:1;
8   unsigned char b3:1;
9   unsigned char b4:1;
10   unsigned char b5:1;
11   unsigned char b6:1;
12   unsigned char b7:1;
13 } BitField;
14
15 #define SFRA (*((volatile BitField*)0x7f14))
16 unsigned char *pA = (unsigned char *) 0x7f14;
17 #define SFRB (*((volatile BitField*)0x7f10))
18 unsigned char *pB = (unsigned char *) 0x7f10;
19
20 char *
21 Do (void)
22 {
23   if (!SFRA.b7)
24     {
25       if (!SFRB.b7)
26         return "Fail";
27       else
28         return "Success";
29     }
30   else
31     return "Fail";
32 }
33
34 int
35 main (void)
36 {
37   *pA = 0x34;
38   *pB = 0xcb;
39   return Do ()[0] == 'F';
40 }
41
42 /* { dg-final { scan-file "23_if0_sfrb_bitfield_7.s" "b\[np\] " } } */
43