http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53470
Markus Trippelsdorf <markus at trippelsdorf dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |markus at trippelsdorf dot | |de --- Comment #4 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-05-25 08:33:01 UTC --- Here is a small testcase: markus@x4 tmp % cat test.ii class sp_counted_base; class shared_count { sp_counted_base *pi_; public: template<class Y> shared_count(Y) : pi_() {} ~shared_count() {} }; template<class T> struct shared_ptr { T element_type; template<class Y> shared_ptr(Y) : pn(0) {} shared_count pn; }; template<class> class ECGetterBase; template<class T> struct ExtensionCord { struct Holder { ECGetterBase<T> *getter_; }; ExtensionCord() : holder_(new Holder) {} shared_ptr<Holder> holder_; }; ExtensionCord<int> a; markus@x4 tmp % c++ -flto -g test.ii lto1: internal compiler error: in splice_child_die, at dwarf2out.c:4264 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. lto-wrapper: /usr/x86_64-pc-linux-gnu/gcc-bin/4.8.0/c++ returned 1 exit status /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld: fatal error: lto-wrapper failed collect2: error: ld returned 1 exit status