xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/consistency.vlad/layout/f-7-14-12.c (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
1 #include <stdio.h>
2 
3 struct sss{
4   int i1:7;
5   int i2:14;
6   int i3:12;
7 };
8 
9 static union u{
10   struct sss sss;
11   unsigned char a[sizeof (struct sss)];
12 } u;
13 
main(void)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 = 127.0;
19   for (i = 0; i < sizeof (struct sss); i++)
20     printf ("%x ", u.a[i]);
21   printf ("\n");
22   u.sss.i2 = 16383.0;
23   for (i = 0; i < sizeof (struct sss); i++)
24     printf ("%x ", u.a[i]);
25   printf ("\n");
26   u.sss.i3 = 4095.0;
27   for (i = 0; i < sizeof (struct sss); i++)
28     printf ("%x ", u.a[i]);
29   printf ("\n");
30   return 0;
31 }
32