summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/class.derived/class.member.lookup/p8.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CXX/class.derived/class.member.lookup/p8.cpp')
-rw-r--r--clang/test/CXX/class.derived/class.member.lookup/p8.cpp63
1 files changed, 0 insertions, 63 deletions
diff --git a/clang/test/CXX/class.derived/class.member.lookup/p8.cpp b/clang/test/CXX/class.derived/class.member.lookup/p8.cpp
deleted file mode 100644
index 4d4acc3460e..00000000000
--- a/clang/test/CXX/class.derived/class.member.lookup/p8.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
-
-// FIXME: Access control checks
-
-namespace PR5820 {
- // also <rdar://problem/7535045>
- struct Base {
- void Foo();
- int Member;
- };
-
- struct D1 : public Base {};
- struct D2 : public Base {};
-
- struct Derived : public D1, public D2 {
- void Inner();
- };
-
- void Test() {
- Derived d;
- d.D1::Foo();
- d.D1::Member = 17;
- }
-
- void Derived::Inner() {
- D1::Foo();
- D1::Member = 42;
- this->D1::Foo();
- this->D1::Member = 42;
- }
-}
-
-template<typename T>
-struct BaseT {
- void Foo(); // expected-note{{found by ambiguous name lookup}}
- int Member;
-};
-
-template<typename T> struct Derived1T : BaseT<T> { };
-template<typename T> struct Derived2T : BaseT<T> { };
-
-template<typename T>
-struct DerivedT : public Derived1T<T>, public Derived2T<T> {
- void Inner();
-};
-
-template<typename T>
-void DerivedT<T>::Inner() {
- Derived1T<T>::Foo();
- Derived2T<T>::Member = 42;
- this->Derived1T<T>::Foo();
- this->Derived2T<T>::Member = 42;
- this->Foo(); // expected-error{{non-static member 'Foo' found in multiple base-class subobjects of type 'BaseT<int>'}}
-}
-
-template<typename T>
-void Test(DerivedT<T> d) {
- d.template Derived1T<T>::Foo();
- d.template Derived2T<T>::Member = 17;
- d.Inner(); // expected-note{{in instantiation}}
-}
-
-template void Test(DerivedT<int>);
OpenPOWER on IntegriCloud