]>
Commit | Line | Data |
---|---|---|
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> | |
8 | class B { | |
9 | protected: | |
d6479fe7 | 10 | int i; // ERROR - protected |
921e5a0e JL |
11 | }; |
12 | ||
13 | class D1 : public B { | |
14 | }; | |
15 | ||
16 | class D2 : public B { | |
17 | friend void fr(B*,D1*,D2*); | |
18 | void mem(B*,D1*); | |
19 | }; | |
20 | ||
21 | void 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 | ||
28 | void 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 | ||
35 | void 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 | } |