1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -g" } */
       3  
       4  int a, c, d, e, f, g, h, i, j, k;
       5  
       6  struct S0
       7  {
       8    int f0;
       9    int f1;
      10    int f2;
      11  };
      12  
      13  struct S1
      14  {
      15    int f0;
      16    int f1;
      17    struct S0 f2;
      18  } b;
      19  
      20  void
      21  fn1 (struct S1 p)
      22  {
      23    for (; k; k++)
      24      h = j ? a : a - 1;
      25    d &= i;
      26  }
      27  
      28  int
      29  main ()
      30  {
      31    int l[5] = { 0 };
      32    fn1 (b);
      33    for (c = 0; c < 3; c++)
      34      for (g = 0; g < 3; g++)
      35        l[c * 2] = e = l[c];
      36    if (f)
      37      fn1 (b);
      38    return 0;
      39  }