/* APPLE LOCAL file 5920116 */ /* Test proper generation of weak virtual function thunks. */ /* { dg-do run } */ int result = 101; struct Interface1 { int if1_var; virtual void Interface1Func(void) = 0; }; struct Interface2 { virtual void Interface2Func(void) = 0; }; class Implementation : public Interface1, public Interface2 { void Interface1Func(void) { result -= 1; } void Interface2Func(void) { result -= 100; } }; int main (void) { Implementation *o2 = new Implementation; ((Interface1 *) o2)->Interface1Func(); ((Interface2 *) o2)->Interface2Func(); delete o2; return result; }