diff options
Diffstat (limited to 'test/CXX/basic/basic.lookup/basic.lookup.classref/p4-cxx11.cpp')
-rw-r--r-- | test/CXX/basic/basic.lookup/basic.lookup.classref/p4-cxx11.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/CXX/basic/basic.lookup/basic.lookup.classref/p4-cxx11.cpp b/test/CXX/basic/basic.lookup/basic.lookup.classref/p4-cxx11.cpp new file mode 100644 index 0000000..7925454 --- /dev/null +++ b/test/CXX/basic/basic.lookup/basic.lookup.classref/p4-cxx11.cpp @@ -0,0 +1,21 @@ +// RUN: %clang_cc1 -std=c++11 %s -verify + +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 +} + + |