// { dg-lto-do assemble } | |
// { dg-lto-options {{-flto}} } | |
struct Foo | |
{ | |
virtual void func() = 0; | |
}; | |
struct Bar | |
{ | |
Foo *field; | |
void func2(); | |
}; | |
struct Baz | |
{ | |
Bar &bar(); | |
Baz(); | |
}; | |
struct Zonk | |
{ | |
virtual ~Zonk() { | |
} | |
virtual void func3() = 0; | |
}; | |
void Mumble(Zonk *) { | |
} | |
extern "C" | |
{ | |
void __attribute__ ((nothrow)) __cxa_pure_virtual() { | |
Baz().bar().func2(); | |
} | |
} |