diff options
| author | 2018-04-06 14:26:03 +0000 | |
|---|---|---|
| committer | 2018-04-06 14:26:03 +0000 | |
| commit | bdabc2f19ffb9e20600dad6e8a300842a7bda50e (patch) | |
| tree | c50e7b2e5449b074651bb82a58517a8ebc4a8cf7 /gnu/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp | |
| parent | Print a 'p' flag for file descriptors that were opened after pledge(2). (diff) | |
| download | wireguard-openbsd-bdabc2f19ffb9e20600dad6e8a300842a7bda50e.tar.xz wireguard-openbsd-bdabc2f19ffb9e20600dad6e8a300842a7bda50e.zip | |
Import LLVM 6.0.1 release including clang, lld and lldb.
"where is the kaboom?" deraadt@
Diffstat (limited to 'gnu/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp')
| -rw-r--r-- | gnu/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gnu/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp b/gnu/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp index 692a455eafc..d6bc16b6350 100644 --- a/gnu/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp +++ b/gnu/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp @@ -101,15 +101,17 @@ protected: public: ItaniumCXXABI(ASTContext &Ctx) : Context(Ctx) { } - std::pair<uint64_t, unsigned> - getMemberPointerWidthAndAlign(const MemberPointerType *MPT) const override { + MemberPointerInfo + getMemberPointerInfo(const MemberPointerType *MPT) const override { const TargetInfo &Target = Context.getTargetInfo(); TargetInfo::IntType PtrDiff = Target.getPtrDiffType(0); - uint64_t Width = Target.getTypeWidth(PtrDiff); - unsigned Align = Target.getTypeAlign(PtrDiff); + MemberPointerInfo MPI; + MPI.Width = Target.getTypeWidth(PtrDiff); + MPI.Align = Target.getTypeAlign(PtrDiff); + MPI.HasPadding = false; if (MPT->isMemberFunctionPointer()) - Width = 2 * Width; - return std::make_pair(Width, Align); + MPI.Width *= 2; + return MPI; } CallingConv getDefaultMethodCallConv(bool isVariadic) const override { |
