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()22main() { 23 A * a = new A; 24 } 25