| Index: include/clang/Basic/TargetCXXABI.h
|
| diff --git a/include/clang/Basic/TargetCXXABI.h b/include/clang/Basic/TargetCXXABI.h
|
| index 42a976b3afdeb420d92cd700c504cada36c3ce85..c0a72cd413385f9bf073ac6e7a51ce4037eeee25 100644
|
| --- a/include/clang/Basic/TargetCXXABI.h
|
| +++ b/include/clang/Basic/TargetCXXABI.h
|
| @@ -146,6 +146,24 @@ public:
|
| llvm_unreachable("bad ABI kind");
|
| }
|
|
|
| + /// \brief Are pointers to member functions differently aligned?
|
| + bool arePointersToMemberFunctionsAligned() const {
|
| + switch (getKind()) {
|
| + case GenericARM:
|
| + case GenericAArch64:
|
| + // TODO: ARM-style pointers to member functions put the discriminator in
|
| + // the this adjustment, so they don't require functions to have any
|
| + // special alignment and could therefore also return false.
|
| + case GenericItanium:
|
| + case GenericMIPS:
|
| + case iOS:
|
| + case iOS64:
|
| + case Microsoft:
|
| + return true;
|
| + }
|
| + llvm_unreachable("bad ABI kind");
|
| + }
|
| +
|
| /// \brief Is the default C++ member function calling convention
|
| /// the same as the default calling convention?
|
| bool isMemberFunctionCCDefault() const {
|
|
|