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