On May 1, 2012, at 11:47 PM, 陳韋任 wrote: > On Tue, May 01, 2012 at 10:35:21AM -0700, John McCall wrote: >> On Apr 30, 2012, at 8:23 PM, 陳韋任 wrote: >>> This patch addresses x86/ARM C++ ABI difference on member function pointer. >>> You can see more detail in Sec. 3.2.1 "Representation of pointer to member >>> function" [1]. >> >> The test is just missing a triple, and so is defaulting to the current >> platform. >> I folded this into an existing test for member function pointers in r155920. > > Okay, I see the test done by virt-call-offsets.cpp is moved to > member-function-pointers.cpp. > Do you know what the fix on X86/ARM ctor ABI difference status is [1]?
virt-call-offsets.cpp was not expecting to be tested on an ARM host. That's a legitimate flaw in the test, but it does not indicate a bug in our handling of the ARM C++ ABI. I implemented returning this from ctors and dtors on ARM targets in August 2010 in r112588, and as far as I know, there is nothing to fix. I do know that there are parts of the ARM C++ ABI that we do not currently implement: for example, the ARM ABI has slightly different rules for selecting a key function, but clang always uses the base Itanium rule. Note that not all ARM-based platforms actually follow the full ARM C++ ABI. iOS, for example, does not guarantee that ctors and dtors return this; clang does it, but gcc and llvm-gcc do not. John. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
