Merge from mainline
[official-gcc.git] / gcc / testsuite / consistency.vlad / layout / f-27-22-7.c
blob5a54216d95c935ccca89717b2322aa786c5b9c6a
1 #include <stdio.h>
3 struct sss{
4 int i1:27;
5 int i2:22;
6 int i3:7;
7 };
9 static union u{
10 struct sss sss;
11 unsigned char a[sizeof (struct sss)];
12 } u;
14 int main (void) {
15 int i;
16 for (i = 0; i < sizeof (struct sss); i++)
17 u.a[i] = 0;
18 u.sss.i1 = 134217727.0;
19 for (i = 0; i < sizeof (struct sss); i++)
20 printf ("%x ", u.a[i]);
21 printf ("\n");
22 u.sss.i2 = 4194303.0;
23 for (i = 0; i < sizeof (struct sss); i++)
24 printf ("%x ", u.a[i]);
25 printf ("\n");
26 u.sss.i3 = 127.0;
27 for (i = 0; i < sizeof (struct sss); i++)
28 printf ("%x ", u.a[i]);
29 printf ("\n");
30 return 0;