1 typedef struct
2 {
3   unsigned char a __attribute__ ((packed));
4   unsigned short b __attribute__ ((packed));
5 } three_byte_t;
6 
7 unsigned char
f(void)8 f (void)
9 {
10   return 0xab;
11 }
12 
13 unsigned short
g(void)14 g (void)
15 {
16   return 0x1234;
17 }
18 
main()19 main ()
20 {
21   three_byte_t three_byte;
22 
23   three_byte.a = f ();
24   three_byte.b = g ();
25   if (three_byte.a != 0xab || three_byte.b != 0x1234)
26     abort ();
27   exit (0);
28 }
29 
30