aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.jason/access16.C
blob: b8d43f3c4c982de46f322c93cb6ecaa373f9a162 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Bug: g++ uses the same binfo for the a subobject of c and the a subobject
// of b, so basetype_paths get bashed improperly.
// Build don't link:

class a {
protected:
	virtual void foo() { }	// gets bogus error
};

class b : public virtual a {};

class c : public b {
public:
	void bar() { b::foo(); } // gets bogus error
};

int main() {
	c test;
	test.bar();
}