1// { dg-do compile } 2// Origin: Detlef Vollmann <dv@vollmann.ch> 3 4// PR c++/8389 5// Access control ICE for typename during instantiation and name mangling 6 7template <class> class Base { 8 protected: 9 typedef int Type; 10}; 11 12template <class T> struct Derived : public Base<T> { 13 typedef typename Base<T>::Type Type; 14 template <class Arg> void f(Type = Type()) {} 15}; 16 17template void Derived<char>::f<int> (Type); 18