[PATCH] Fix darwin/25908, key functions vs non weak vtables
Andrew Pinski
pinskia@physics.uc.edu
Thu Jan 26 16:18:00 GMT 2006
The problem here is that Darwin has non weak vtables which means that
the key function for the following source can no longer be the inline function:
class f
{
virtual void g();
};
inline void f::g()
{}
Now this patch makes darwin follow the arm-eabi C++ ABI instead of
the IA64 C++ ABI in respect with vtables and key functions. Darwin
already follows the ARM-EABI C++ ABI for vtables being non weak.
This fixes PR 25908 which has the above class in a header file
and included in two different TUs.
OK? Bootstrapped and tested on powerpc-darwin with no regressions.
Thanks,
Andrew Pinski
ChangeLog:
* config/darwin.h (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE):
Define to be always return false.
* g++.dg/abi/key1.C: Enable also for Darwin.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fixPR25908.diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060126/31ebc052/attachment.txt>
More information about the Gcc-patches
mailing list