// PR c++/33553 // { dg-do compile } template struct S { static const int sz = 2; }; template struct U { enum { sz = 2 }; }; template struct P { template void bar (int (&x)[S::sz]); template void baz (int (&x)[U::sz]); }; P p; void foo (void) { int x[2]; p.bar (x); p.baz (x); }