http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53831
--- Comment #10 from Yuri Gribov <tetra2005 at gmail dot com> 2012-07-03 12:59:01 UTC --- > if I use -fno-fat-lto-objects I get a maybe more easily to debug linker > failure I guess that's because in this case archive symtab doesn't reference any symbols at all (which is another bug): $ nm libdummy.a impl.o: 00000001 C __gnu_lto_slim 00000001 C __gnu_lto_v1 so linker doesn't get any symbols from impl.o (not even _ZTV1C). > Or your program is invalid because you have no inline definition where you have a use. I'm not sure whether inline virtual without definition is valid in C++. But I googled a bit before submitting the bug and found no evidence that it's a non-standard (and more importantly - non-lto g++ accepts this code just fine).