This commit was generated by cvs2svn to track changes on a CVS vendor
[external/binutils.git] / ld / testsuite / ld-selective / 5.cc
1 // This test currently fails because the C++ front end emits `A' as
2 // the base class called rather than `B' as it ought.  At least it
3 // is erroring on the safe side...
4
5 struct A
6 {
7   virtual void foo();
8   virtual void bar();
9 };
10
11 void A::foo() { }                       // loose
12 void A::bar() { }                       // loose
13
14 struct B : public A
15 {
16   virtual void foo();
17 };
18
19 void B::foo() { }                       // keep
20
21 void _start() __asm__("_start");        // keep
22
23 A a;
24 B b;                                    // keep
25 B *getme() { return &b; }               // keep
26
27 void _start()
28 {
29   getme()->foo();
30 }
31
32 extern "C" void __main() { }