// { dg-lto-do link } // { dg-lto-options { { -g -flto } } } class sp_counted_base; class shared_count { sp_counted_base *pi_; public: template shared_count(Y) : pi_() {} ~shared_count() {} }; template struct shared_ptr { T element_type; template shared_ptr(Y) : pn(0) {} shared_count pn; }; template class ECGetterBase; template struct ExtensionCord { struct Holder { ECGetterBase *getter_; }; ExtensionCord() : holder_(new Holder) {} shared_ptr holder_; }; ExtensionCord a; int main() {}