1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// PR c++/24671 // { dg-do compile } template<typename> struct A { typedef int X; static const int i = 0; }; template<typename> struct B { B(const B&); typedef typename A<char[A<B>::i]>::X Y; // { dg-error "forbids zero-size array" } template<typename T> B(T, Y); }; B<int> b(0,0); // { dg-message "instantiated from here" }