http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51910
Bug #: 51910 Summary: -frepo linking failure Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: nephatr...@gmail.com Created attachment 26388 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26388 Minimal Testcase I'm having an issue with -frepo apparently not instantiating typeinfo/vtables at least on x86_64 (have not tested on other archs). It is creating .rpo files, but it cannot find the functions at the relinking stage. I've attached a minimal testcase. The code compiles cleanly on GCC 4.6.2 without any errors, but 4.7 chokes on it. Here is the output of 'make' on my system for the testcase. g++ -frepo -o main.o -c main.cpp g++ -frepo -o testcase main.o collect: recompiling main.cpp collect: relinking collect2: error: '_ZN3FooIiED0Ev' was assigned to 'main.rpo', but was not defined during recompilation, or vice versa main.o:main.cpp:function Foo<int>::~Foo(): error: undefined reference to 'Foo<int>::~Foo()' main.o:main.cpp:function Bar::~Bar(): error: undefined reference to 'Foo<int>::~Foo()' main.o:main.cpp:function vtable for Foo<int>: error: undefined reference to 'Foo<int>::~Foo()' main.o:main.cpp:function vtable for Foo<int>: error: undefined reference to 'Foo<int>::haggis()' main.o:main.cpp:function typeinfo for Foo<int>: error: undefined reference to 'typeinfo name for Foo<int>' collect2: error: ld returned 1 exit status make: *** [testcase] Error 1