diff options
author | Timur Iskhodzhanov <timurrrr@google.com> | 2013-10-30 11:55:43 +0000 |
---|---|---|
committer | Timur Iskhodzhanov <timurrrr@google.com> | 2013-10-30 11:55:43 +0000 |
commit | 0201432a5e742b9c690679511a02ecb7102b246a (patch) | |
tree | 28dc74ba9d17886772c92a6feb523e3d062f0045 /clang/lib/CodeGen/CGCXXABI.h | |
parent | 580da276161ee8b2aa7bc6bd4631cd8261fb9bfb (diff) | |
download | bcm5719-llvm-0201432a5e742b9c690679511a02ecb7102b246a.tar.gz bcm5719-llvm-0201432a5e742b9c690679511a02ecb7102b246a.zip |
Make thunk this/return adjustment ABI-specific. Also, fix the return adjustment when using -cxx-abi microsoft
Reviewed at http://llvm-reviews.chandlerc.com/D2026
llvm-svn: 193679
Diffstat (limited to 'clang/lib/CodeGen/CGCXXABI.h')
-rw-r--r-- | clang/lib/CodeGen/CGCXXABI.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGCXXABI.h b/clang/lib/CodeGen/CGCXXABI.h index c76769f4252..44bdf66f603 100644 --- a/clang/lib/CodeGen/CGCXXABI.h +++ b/clang/lib/CodeGen/CGCXXABI.h @@ -356,6 +356,14 @@ public: virtual void setThunkLinkage(llvm::Function *Thunk, bool ForVTable) = 0; + virtual llvm::Value *performThisAdjustment(CodeGenFunction &CGF, + llvm::Value *This, + const ThisAdjustment &TA) = 0; + + virtual llvm::Value *performReturnAdjustment(CodeGenFunction &CGF, + llvm::Value *Ret, + const ReturnAdjustment &RA) = 0; + virtual void EmitReturnFromThunk(CodeGenFunction &CGF, RValue RV, QualType ResultType); |