old-cross-binutils/ld/testsuite/ld-selective/3.cc
Catherine Moore 4b329e3518 * ld-selective: New directory with new files to test
selective linking.

       * lib/ld-lib.exp (ld_nm):  Strip leading underscore from $name.
1998-10-23 21:32:56 +00:00

33 lines
532 B
C++

struct A
{
virtual void foo();
virtual void bar();
};
void A::foo() { } // keep
void A::bar() { } // loose
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();
}
// 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() { }