OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.law/] [visibility19.C] - Blame information for rev 779

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 305 jeremybenn
// { dg-do assemble  }
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:
10
    int i; // { dg-error "" } protected
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// { dg-error "" } .*
24
    p1->i = 2;  // illegal// { dg-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// { dg-error "" } .*
31
    p1->i = 2;  // illegal// { dg-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// { dg-error "" } .*
38
    p1->i = 2;  // illegal// { dg-error "" } .*
39
    p2->i = 3;  // illegal// { dg-error "" } .*
40
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.