// This test currently fails because the C++ front end emits `A' as | |
// the base class called rather than `B' as it ought. At least it | |
// is erroring on the safe side... | |
struct A | |
{ | |
virtual void foo(); | |
virtual void bar(); | |
}; | |
void A::foo() { } // loose | |
void A::bar() { } // loose | |
struct B : public A | |
{ | |
virtual void foo(); | |
}; | |
void B::foo() { } // keep | |
void _start() __asm__("_start"); // keep | |
A a; | |
B b; // keep | |
B *getme() { return &b; } // keep | |
void _start() | |
{ | |
getme()->foo(); | |
} | |
extern "C" void __main() { } |