/* PR c/68668 */ /* { dg-do compile } */ typedef const int T[]; typedef const int U[1]; int fn1 (T p) { return p[0]; } int fn2 (U p[2]) { return p[0][0]; } int fn3 (U p[2][3]) { return p[0][0][0]; } int fn4 (U *p) { return p[0][0]; } int fn5 (U (*p)[1]) { return (*p)[0][0]; } int fn6 (U (*p)[1][2]) { return (*p)[0][0][0]; } int fn7 (U **p) { return p[0][0][0]; } int fn8 (U (**p)[1]) { return (*p)[0][0][0]; }