This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Andrew also pointed out that this will fix http://gcc.gnu.org/PR42540. On Tue, Jul 13, 2010 at 3:17 PM, Andrew Pinski <pinskia@gmail.com> wrote: > I notice you don't test inline functions which could be key functions. > ?Is there a reason behind that (like arm-eabi C++ ABI's key function > is slightly different from the other ABIs)? No, I just forgot about them. Here's a new patch that does test them. Testing with: build/gcc$ make check-g++ RUNTESTFLAGS="--target_board=arm-sim diagnostic.exp" passes, where diagnostic.exp is a small file pointing at just the tests in gcc/testsuite/g++.dg/diagnostic/. I couldn't find instructions on using qemu, and Richard Earnshaw's hint at http://www.mail-archive.com/gcc@gcc.gnu.org/msg43448.html wasn't enough to point me in the right direction. > ?How does this interactive > with LTO (in that using -r at link time and then linking the final > result)? $ cat test.cc struct Poly { virtual void KeyMethod(); virtual ~Poly(); }; int main() { Poly p; } $ cat poly.cc struct Poly { virtual void KeyMethod(); virtual ~Poly(); }; Poly::~Poly() {} //void Poly::KeyMethod() {} $ g++-4.6svn -fuse-key-methods -O3 -flto test.cc poly.cc -o test /tmp/ccW501Jx.o: In function `main': test.cc:(.text+0xb): undefined reference to `vtable for Poly' /tmp/ccW501Jx.o: In function `__use_needed_key_methods()': test.cc:(.text+0x21): undefined reference to `Poly::KeyMethod()' /tmp/cczIIliN.o: In function `Poly::~Poly()': poly.cc:(.text+0x3): undefined reference to `vtable for Poly' /tmp/cczIIliN.o: In function `Poly::~Poly()': poly.cc:(.text+0x13): undefined reference to `vtable for Poly' /tmp/cczIIliN.o: In function `__use_needed_key_methods()': poly.cc:(.text+0x21): undefined reference to `Poly::KeyMethod()' collect2: ld returned 1 exit status that's the same as without -flto. Partial linking with -r doesn't seem to change the result either. Thanks for taking a look, Jeffrey
Attachment:
keymethod.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |