OSDN Git Service

Latest updates from FSF 4.7 branch
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / xstormy16 / data_below100 / 22_if1_b100b_bitfield_3.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 char acDummy[0xf0] __attribute__ ((__BELOW100__));
16 BitField B100A __attribute__ ((__BELOW100__)) =
17 {
18 1, 1, 0, 1, 0, 0, 1, 1};
19 unsigned char *pA = (unsigned char *) &B100A;
20 BitField B100B __attribute__ ((__BELOW100__)) =
21 {
22 0, 0, 1, 0, 1, 1, 0, 0};
23 unsigned char *pB = (unsigned char *) &B100B;
24
25 char *
26 Do (void)
27 {
28   if (B100A.b3)
29     {
30       if (B100B.b3)
31         return "Fail";
32       else
33         return "Success";
34     }
35   else
36     return "Fail";
37 }
38
39 int
40 main (void)
41 {
42   return Do ()[0] == 'F';
43 }
44
45 /* { dg-final { scan-file "22_if1_b100b_bitfield_3.s" "b\[np\] B100A,#3," } } */
46 /* { dg-final { scan-file "22_if1_b100b_bitfield_3.s" "b\[np\] B100B,#3," } } */