1  typedef struct
       2  {
       3    unsigned char a __attribute__ ((packed));
       4    unsigned short b __attribute__ ((packed));
       5  } three_byte_t;
       6  
       7  unsigned char
       8  f (void)
       9  {
      10    return 0xab;
      11  }
      12  
      13  unsigned short
      14  g (void)
      15  {
      16    return 0x1234;
      17  }
      18  
      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