diff options
Diffstat (limited to 'lib/AST/CXXABI.h')
-rw-r--r-- | lib/AST/CXXABI.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/AST/CXXABI.h b/lib/AST/CXXABI.h index 924ef00e8147..06295b58178b 100644 --- a/lib/AST/CXXABI.h +++ b/lib/AST/CXXABI.h @@ -31,9 +31,16 @@ class CXXABI { public: virtual ~CXXABI(); - /// Returns the width and alignment of a member pointer in bits. - virtual std::pair<uint64_t, unsigned> - getMemberPointerWidthAndAlign(const MemberPointerType *MPT) const = 0; + struct MemberPointerInfo { + uint64_t Width; + unsigned Align; + bool HasPadding; + }; + + /// Returns the width and alignment of a member pointer in bits, as well as + /// whether it has padding. + virtual MemberPointerInfo + getMemberPointerInfo(const MemberPointerType *MPT) const = 0; /// Returns the default calling convention for C++ methods. virtual CallingConv getDefaultMethodCallConv(bool isVariadic) const = 0; |