Commit | Line | Data |
---|---|---|
bd0110a3 HPN |
1 | struct A |
2 | { | |
3 | virtual void foo(); | |
4 | virtual void bar(); | |
5 | }; | |
6 | ||
7 | void A::foo() { } // lose | |
8 | void A::bar() { } // keep | |
9 | ||
10 | struct B : public A | |
11 | { | |
12 | virtual void foo(); | |
13 | }; | |
14 | ||
15 | void B::foo() { } // lose | |
16 | ||
17 | void _start() __asm__("_start"); // keep | |
18 | ||
19 | A a; // keep | |
20 | B b; | |
21 | A *getme() { return &a; } // keep | |
22 | ||
23 | extern B* dropme2(); | |
24 | void dropme1() { dropme2()->foo(); } // lose | |
25 | B *dropme2() { return &b; } // lose | |
26 | ||
27 | void _start() | |
28 | { | |
29 | getme()->bar(); | |
30 | } | |
31 | ||
32 | extern "C" void __main() { } |