1 // { dg-do compile } 2 3 // Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de> 4 5 // PR c++/10555: ICE for member class template when one of the 6 // template argument levels contains errors. 7 8 template <typename> struct A 9 { 10 template <typename> struct B; 11 }; 12 13 template <typename T> struct C 14 { 15 typedef typename A<T>::template B<U> X; // { dg-error "declared|invalid" } 16 }; 17 18 C<void> c; 19