1  /* { dg-do compile } */
       2  
       3  struct S0
       4  {
       5    int f;
       6  };
       7  
       8  struct S1
       9  {
      10    struct S0 f1;
      11    volatile int f2;
      12  };
      13  
      14  struct S2
      15  {
      16    struct S1 g;
      17  } a, b; 
      18  
      19  static int *c[1][2] = {{0, (int *)&a.g.f2}};
      20  static int d; 
      21  
      22  int
      23  main ()
      24  {
      25    for (d = 0; d < 1; d++)
      26      for (b.g.f1.f = 0; b.g.f1.f < 1; b.g.f1.f++)
      27        *c[b.g.f1.f][d + 1] = 0;
      28    return 0;
      29  }