brintos

brintos / llvm-project-archived public Read only

0
0
Text · 823 B · 006d373 Raw
48 lines · cpp
1// RUN: %clang_cc1 -fms-extensions -verify %s2 3namespace test0 {4  class A {5  private:6    void foo(int*);7  public:8    void foo(long*);9  };10  class B : public A {11    void test() {12      __super::foo((long*) 0);13    }14  };15}16 17namespace test1 {18  struct A {19    static void foo(); // expected-note {{member is declared here}}20  };21  struct B : private A { // expected-note {{constrained by private inheritance here}}22    void test() {23      __super::foo();24    }25  };26  struct C : public B {27    void test() {28      __super::foo(); // expected-error {{'foo' is a private member of 'test1::A'}}29    }30  };31}32 33namespace test2 {34  struct A {35    static void foo();36  };37  struct B : public A {38    void test() {39      __super::foo();40    }41  };42  struct C : private B {43    void test() {44      __super::foo();45    }46  };47}48