1 // { dg-do assemble  }
2 // GROUPS passed old-abort
3 extern "C" int printf (const char *, ...);
4 
5 class A {
6         int	i; // { dg-message "" } private
7         int	j; // { dg-message "" } private
8     public:
9 	int	h;
A()10 	A() { i=10; j=20; }
f1()11 	virtual void f1() { printf("i=%d j=%d\n",i,j); }
f2()12 	friend virtual void f2() { printf("i=%d j=%d\n",i,j); }// { dg-error "" }  virtual.*
13 };
14 
15 class B : public A {
16     public:
f1()17 	virtual void f1() { printf("i=%d j=%d\n",i,j); }// { dg-error "" }  member.*// ERROR -  member.*
f2()18 	friend virtual void f2() { printf("i=%d j=%d\n",i,j); }// { dg-error "" }  virtual.*// ERROR -  member.*// ERROR -  member.*
19 };
20 
21 int
main()22 main() {
23 	A * a = new A;
24 }
25