http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54728
--- Comment #3 from Dmitry G. Dyachenko <dimhen at gmail dot com> 2012-10-01 10:16:50 UTC --- different (less) testcase this code must be compiled with '-O1'. w/o '-O1' or with '-O0' err not triggered $ cat f1.ii namespace std { template < typename _CharT > class A { public: A (_CharT *); }; class B { }; } class D: std::B { public: D (const D &): std::B (), wfile (0) { } D (): std::B (), wfile (0) { } std::A < int > wfile; }; class C { virtual bool get_current_pin () { throw D (); } }; $ g++ -O -flto -c -o f1.o f1.ii $ g++ -O -flto -c -o f2.o f1.ii $ g++ f1.o f2.o -flto -flto-partition=none -o .libs/libp.so In member function 'get_current_pin': lto1: internal compiler error: in input_gimple_stmt, at gimple-streamer-in.c:254 0xbf78ab input_gimple_stmt /home/dimhen/src/gcc-current/gcc/gimple-streamer-in.c:253 0xbf78ab input_bb(lto_input_block*, LTO_tags, data_in*, function*, int) /home/dimhen/src/gcc-current/gcc/gimple-streamer-in.c:310 0x70f3e4 input_function /home/dimhen/src/gcc-current/gcc/lto-streamer-in.c:853 0x70f3e4 lto_read_body /home/dimhen/src/gcc-current/gcc/lto-streamer-in.c:977 0x70f3e4 lto_input_function_body(lto_file_decl_data*, tree_node*, char const*) /home/dimhen/src/gcc-current/gcc/lto-streamer-in.c:1022 0x4ccd8a lto_materialize_function /home/dimhen/src/gcc-current/gcc/lto/lto.c:226 0x4ccd8a materialize_cgraph /home/dimhen/src/gcc-current/gcc/lto/lto.c:3045 0x4d173a lto_main() /home/dimhen/src/gcc-current/gcc/lto/lto.c:3307 Please submit a full bug report, gcc version 4.8.0 20121001 (experimental) [trunk revision 191884] (GCC)