summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/access6.C
blob: cbc8000d1859d6fb3f603eddfb42d16c4cc5dbe8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// { dg-do compile }
// Origin: Detlef Vollmann <dv@vollmann.ch>

// PR c++/8389
// Access control ICE for typename during instantiation and name mangling

template <class> class Base {
  protected:
    typedef int Type;
};
    
template <class T> struct Derived : public Base<T> {
  typedef typename Base<T>::Type Type;
  template <class Arg> void f(Type = Type()) {}
};
    
template void Derived<char>::f<int> (Type);