diff options
Diffstat (limited to 'ld/testsuite/ld-selective/3.cc')
-rw-r--r-- | ld/testsuite/ld-selective/3.cc | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/ld/testsuite/ld-selective/3.cc b/ld/testsuite/ld-selective/3.cc deleted file mode 100644 index 79d5e96b7f..0000000000 --- a/ld/testsuite/ld-selective/3.cc +++ /dev/null @@ -1,40 +0,0 @@ -struct A -{ - virtual void foo(); - virtual void bar(); -}; - -void A::foo() { } // keep -void A::bar() { } // lose - -struct B : public A -{ - virtual void foo(); -}; - -void B::foo() { } // keep - -void _start() __asm__("_start"); // keep - -A a; // keep -B b; -A *getme() { return &a; } // keep - -void _start() -{ - getme()->foo(); -#ifdef __GNUC__ -#if (__GNUC__ == 2 && __GNUC_MINOR__ < 96) -// gcc-2.95.2 gets this test wrong, and loses B::foo(). -// Cheat. After all, we aren't trying to test the compiler here. - b.foo(); -#endif -#endif -} - -// In addition, keep A's virtual table. - -// We'll wind up keeping `b' and thus B's virtual table because -// `a' and `b' are both referenced from the constructor function. - -extern "C" void __main() { } |