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: [email protected]
ReportedBy: [email protected]
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