summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/class.access/class.friend/p1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CXX/class.access/class.friend/p1.cpp')
-rw-r--r--clang/test/CXX/class.access/class.friend/p1.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/CXX/class.access/class.friend/p1.cpp b/clang/test/CXX/class.access/class.friend/p1.cpp
index 851cd3d0088..d9c23c110d5 100644
--- a/clang/test/CXX/class.access/class.friend/p1.cpp
+++ b/clang/test/CXX/class.access/class.friend/p1.cpp
@@ -149,3 +149,19 @@ namespace test2 {
// expected-error {{'getNext' is a private member of 'test2::ilist_node'}}
};
}
+
+namespace test3 {
+ class A { protected: int x; }; // expected-note {{declared protected here}}
+
+ class B : public A {
+ friend int foo(B*);
+ };
+
+ int foo(B *p) {
+ return p->x;
+ }
+
+ int foo(const B *p) {
+ return p->x; // expected-error {{'x' is a protected member of 'test3::A'}}
+ }
+}
OpenPOWER on IntegriCloud