]> gcc.gnu.org Git - gcc.git/blame - gcc/testsuite/g++.old-deja/g++.law/visibility19.C
cp-tree.h (flag_access_control): Declare.
[gcc.git] / gcc / testsuite / g++.old-deja / g++.law / visibility19.C
CommitLineData
921e5a0e
JL
1// Build don't link:
2// GROUPS passed visibility
3// visibility file
4// From: mclaugh@tnt.acsys.com (Mark A. McLaughlin)
5// Date: Wed, 25 Aug 93 14:30:47 MDT
6// Subject: g++ bug
7// Message-ID: <9308252030.AA02352@tnt.acsys.com>
8class B {
9protected:
d6479fe7 10 int i; // ERROR - protected
921e5a0e
JL
11};
12
13class D1 : public B {
14};
15
16class D2 : public B {
17 friend void fr(B*,D1*,D2*);
18 void mem(B*,D1*);
19};
20
21void fr(B* pb, D1* p1, D2* p2)
22{
23 pb->i = 1; // illegal// ERROR - .*
24 p1->i = 2; // illegal// ERROR - .*
25 p2->i = 3; // ok (access through D2)
26}
27
28void D2::mem(B* pb, D1* p1)
29{
30 pb->i = 1; // illegal// ERROR - .*
31 p1->i = 2; // illegal// ERROR - .*
32 i = 3; // ok (access through `this')
33}
34
35void g(B* pb, D1* p1, D2* p2)
36{
37 pb->i = 1; // illegal// ERROR - .*
38 p1->i = 2; // illegal// ERROR - .*
39 p2->i = 3; // illegal// ERROR - .*
40}
This page took 0.384829 seconds and 5 git commands to generate.