// { dg-lto-do run } /* This test will fail to link if the vtable for Derived is not emitted. */ class Base { public: Base(char *buf, unsigned len) : _buf(buf), _len(len) {} virtual int length () { return _len; } private: char * _buf; unsigned _len; }; class Derived : public Base { public: Derived(char *buf, unsigned len) : Base(buf, len), _ctr(len) {} virtual int length () { return _ctr; } private: unsigned _ctr; }; int main () { Derived *d = new Derived (new char[256], 256); return 0; }