Back to index

cell-binutils  2.17cvs20070401
5.cc
Go to the documentation of this file.
00001 struct A
00002 {
00003   virtual void foo();
00004   virtual void bar();
00005 };
00006 
00007 void A::foo() { }                  // lose
00008 void A::bar() { }                  // keep
00009 
00010 struct B : public A
00011 {
00012   virtual void foo();
00013 };
00014 
00015 void B::foo() { }                  // lose
00016 
00017 void _start() __asm__("_start");   // keep
00018 void start() __asm__("start"); // some toolchains use this name.
00019 
00020 A a;                               // keep
00021 B b;
00022 A *getme() { return &a; }          // keep
00023 
00024 extern B* dropme2();
00025 void dropme1() { dropme2()->foo(); }      // lose
00026 B *dropme2() { return &b; }        // lose
00027 
00028 void _start()
00029 {
00030   getme()->bar();
00031 }
00032 
00033 void start ()
00034 {
00035   _start ();
00036 }
00037 
00038 extern "C" void __main() { }