1  struct foo {
       2    unsigned : 12;
       3    unsigned field : 4;
       4  } foo;
       5  unsigned oldfoo;
       6  
       7  int
       8  bar (unsigned k)
       9  {
      10    oldfoo = foo.field;
      11    foo.field = k;
      12    if (k)
      13      return 1;
      14    return 2;
      15  }
      16  
      17  main ()
      18  {
      19    if (bar (1U) != 1)
      20      abort ();
      21    exit (0);
      22  }