1 // { dg-do assemble } 2 3 class A { 4 public: 5 virtual int foo() = 0; // { dg-message "" } original definition 6 }; 7 8 class B { 9 public: 10 virtual double foo() = 0; 11 }; 12 13 class C 14 : public A, public B 15 { 16 public: foo()17 virtual double foo() { return 2; } // { dg-error "" } conflicting return type 18 }; 19 20 class D 21 : public B, public A 22 { 23 public: foo()24 virtual double foo() { return 2; } // { dg-error "" } conflicting return type 25 }; 26