1// { dg-do compile } 2// Origin: 3 4// PR c++/6716 5// ICE in complex class structure when components are incomplete 6 7template <class T> struct X { 8 T t; // { dg-error "incomplete" } 9}; 10 11template <class T> struct Y { 12 X<T> x; // { dg-message "required" } 13}; 14 15template <class T> struct Z { // { dg-message "declaration" } 16 Y<Z<T> > y; // { dg-message "required" } 17}; 18 19struct ZZ : Z<int> 20{ 21}; 22