1  /* PR tree-optimization/94621 */
       2  
       3  struct S { int c, e[]; };
       4  
       5  static inline int
       6  foo (struct S *m, int r, int c)
       7  {
       8    int (*a)[][m->c] = (int (*)[][m->c])&m->e;
       9    return (*a)[r][c];
      10  }
      11  
      12  void
      13  bar (struct S *a)
      14  {
      15    foo (a, 0, 0);
      16  }