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
8template <typename> struct A
9{
10    template <typename> struct B;
11};
12
13template <typename T> struct C
14{
15    typedef typename A<T>::template B<U> X; // { dg-error "declared|invalid" }
16};
17
18C<void> c;
19