xref: /minix3/external/bsd/llvm/dist/clang/test/SemaCXX/access-member-pointer.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -verify %s
2*f4a2713aSLionel Sambuc // PR7694
3*f4a2713aSLionel Sambuc 
4*f4a2713aSLionel Sambuc class A { };
5*f4a2713aSLionel Sambuc class B : private A { public: void foo(); }; // expected-note {{declared private here}}
foo()6*f4a2713aSLionel Sambuc void B::foo() {
7*f4a2713aSLionel Sambuc   (void)static_cast<void(A::*)()>(&B::foo);
8*f4a2713aSLionel Sambuc }
bar()9*f4a2713aSLionel Sambuc void bar() {
10*f4a2713aSLionel Sambuc   (void)static_cast<void(A::*)()>(&B::foo); // expected-error {{cannot cast 'B' to its private base class 'A'}}
11*f4a2713aSLionel Sambuc }
12