// { dg-do run } // { dg-options "-w" } // Test to make sure that implicit typename doesn't break name binding rules. typedef double A; template<class T> class B { typedef char A; }; template<class T> struct X : B<T> { A a; }; int main() { X<char*> x; return sizeof (x.a) != sizeof (double); }