struct A | |
{ | |
virtual void foo(); | |
virtual void bar(); | |
}; | |
void A::foo() { } // lose | |
void A::bar() { } // keep | |
struct B : public A | |
{ | |
virtual void foo(); | |
}; | |
void B::foo() { } // lose | |
void _start() __asm__("_start"); // keep | |
void start() __asm__("start"); // some toolchains use this name. | |
A a; // keep | |
B b; | |
A *getme() { return &a; } // keep | |
void _start() | |
{ | |
getme()->bar(); | |
} | |
void start () | |
{ | |
_start (); | |
} | |
extern "C" void __main() { } |