1 // RUN: %clang_cc1 -std=c++11 %s -verify
2 // expected-no-diagnostics
3 
4 struct A { void f(); };
5 struct C { void f(); };
6 struct B : A { typedef A X; };
7 struct D : C { typedef C X;   void g(); };
8 
9 void D::g()
10 {
11     B * b = new B;
12     b->X::f(); // lookup for X finds B::X
13 }
14 
15 typedef int X;
16 void h(void)
17 {
18     B * b = new B;
19     b->X::f(); // lookup for X finds B::X
20 }
21 
22 
23