// Build don't link: 
// GROUPS passed miscellaneous
// This should not complain about A::f being abstract.
struct	A
{
	virtual int f() = 0;
};

struct	B : virtual A
{
	virtual int f()		{	return 1;	}
	virtual int g() = 0;
};

struct	C: B
{
	int g()			{	return 2;	}
};

C	c;
