1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// { dg-do compile } // Origin: Volker Reichelt <reichelt@gcc.gnu.org> // PR c++/11076: ICE for invalid access declaration containing typename. template<typename, typename T=void> struct A { typedef A<T,T> B; }; template <typename T> struct C { typedef typename A<T>::B X; X::Y; // { dg-error "not a base type" } }; C<void> c; // { dg-message "instantiated" }