1  // { dg-do run }
       2  // { dg-options "-Os" }
       3  
       4  struct {
       5    int a:1;
       6  } b;
       7  
       8  int c, d, e, f = 1, g;
       9  
      10  int main ()
      11  {
      12    for (; d < 3; d++) {
      13      char h = 1 % f, i = ~(0 || ~0);
      14      c = h;
      15      f = ~b.a;
      16      ~b.a | 1 ^ ~i && g;
      17      if (~e)
      18        i = b.a;
      19      b.a = i;
      20    }
      21    return 0;
      22  }