| // RUN: %clang_cc1 -std=c++11 %s -verify | |
| // expected-no-diagnostics | |
| struct A { void f(); }; | |
| struct C { void f(); }; | |
| struct B : A { typedef A X; }; | |
| struct D : C { typedef C X; void g(); }; | |
| void D::g() | |
| { | |
| B * b = new B; | |
| b->X::f(); // lookup for X finds B::X | |
| } | |
| typedef int X; | |
| void h(void) | |
| { | |
| B * b = new B; | |
| b->X::f(); // lookup for X finds B::X | |
| } | |