summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-selective/3.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-selective/3.cc')
-rw-r--r--ld/testsuite/ld-selective/3.cc40
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 79d5e96b7f1..00000000000
--- 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() { }