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 |