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

Reply via email to