p4-cxx11.cpp 367 B

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