blob: 0560523bfa482abb9214917295de29d6e2919263 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
// { dg-do assemble }
// GROUPS passed visibility
// visibility file
// From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott)
// Date: Tue, 10 Aug 93 10:06:33 PDT
// Subject: G++ 2.4.5 allows access to protected base members
// Message-ID: <9308101706.AA04485@foxtrot.ccmrc.ucsb.edu>
class Base {
protected:
void protectedBaseFunction() {} // { dg-error "" } protected
public:
Base() {}
};
class Derived : public Base {
public:
Derived() {}
void noticeThisFunction(Base *);
};
void
Derived::noticeThisFunction(Base *b) {
b->protectedBaseFunction(); // ARM says this is not allowed// { dg-error "" } .*
// since it is not called on 'this'
}
int main() {
Base b;
Derived d;
d.noticeThisFunction(&b);
printf("gpptest run\n");// { dg-error "" } .*
}
|