1// { dg-do assemble  }
2
3template <class X, int n> X f (auto X (*x)[n]) { return (*x)[n/2]; }
4extern int i[30];
5extern double d[99];
6
7int foo (int ii) { return f (&i); }		// causes abort
8double foo (double dd) { return f (&d); }
9