// PR c++/69349 - template substitution error for flexible array members // { dg-do compile } template struct A; template struct A { typedef int X; }; template int foo (T&, typename A::X = 0) { return 0; } struct B { int n, a[]; // { dg-error "10:ISO C\\+\\+ forbids flexible array member" } }; void bar (B *b) { foo (b->a); }