OSDN Git Service

Revert delta 190174
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / xstormy16 / sfr / 26_if1_sfrw_bitfield_b.c
1 /* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */
2 /* { dg-final { scan-assembler "bn 32533,#3" } } */
3
4 typedef struct
5 {
6   unsigned short b0:1;
7   unsigned short b1:1;
8   unsigned short b2:1;
9   unsigned short b3:1;
10   unsigned short b4:1;
11   unsigned short b5:1;
12   unsigned short b6:1;
13   unsigned short b7:1;
14   unsigned short b8:1;
15   unsigned short b9:1;
16   unsigned short b10:1;
17   unsigned short b11:1;
18   unsigned short b12:1;
19   unsigned short b13:1;
20   unsigned short b14:1;
21   unsigned short b15:1;
22 } BitField;
23
24 #define SFRA (*((volatile BitField*)0x7f14))
25 unsigned short *pA = (unsigned short *) 0x7f14;
26 #define SFRB (*((volatile BitField*)0x7f10))
27 unsigned short *pB = (unsigned short *) 0x7f10;
28
29 char *
30 Do (void)
31 {
32   if (SFRA.b11)
33     {
34       if (SFRB.b11)
35         return "Fail";
36       else
37         return "Success";
38     }
39   else
40     return "Fail";
41 }
42
43 int
44 main (void)
45 {
46   *pA = 0xedcb;
47   *pB = 0x1234;
48   return Do ()[0] == 'F';
49 }