access16.C   [plain text]


// { dg-do assemble  }
// Bug: g++ uses the same binfo for the a subobject of c and the a subobject
// of b, so basetype_paths get bashed improperly.

class a {
protected:
	virtual void foo() { }	// { dg-bogus "" } 
};

class b : public virtual a {};

class c : public b {
public:
	void bar() { b::foo(); } // { dg-bogus "" } 
};

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