diff options
author | Anders Carlsson <andersca@mac.com> | 2009-11-26 03:09:37 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-11-26 03:09:37 +0000 |
commit | 2f87c4f1a599b5c886d60ce16fbd788c6b73ca43 (patch) | |
tree | 5397d7b8fd833bbed83fbe4f7a876833993f6333 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | f873c2fb68c618af8185737c92962e21a9ff903d (diff) | |
download | bcm5719-llvm-2f87c4f1a599b5c886d60ce16fbd788c6b73ca43.tar.gz bcm5719-llvm-2f87c4f1a599b5c886d60ce16fbd788c6b73ca43.zip |
Add a CovariantThunkAdjustment struct that represents the adjustments needed for a covariant thunk.
llvm-svn: 89933
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index b811c25b8a8..078beabd1ba 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -437,16 +437,17 @@ public: /// DynamicTypeAdjust - Do the non-virtual and virtual adjustments on an /// object pointer to alter the dynamic type of the pointer. Used by /// GenerateCovariantThunk for building thunks. - llvm::Value *DynamicTypeAdjust(llvm::Value *V, int64_t nv, int64_t v); + llvm::Value *DynamicTypeAdjust(llvm::Value *V, + const ThunkAdjustment &Adjustment); /// GenerateThunk - Generate a thunk for the given method llvm::Constant *GenerateThunk(llvm::Function *Fn, const CXXMethodDecl *MD, bool Extern, const ThunkAdjustment &ThisAdjustment); - llvm::Constant *GenerateCovariantThunk(llvm::Function *Fn, - const CXXMethodDecl *MD, bool Extern, - int64_t nv_t, int64_t v_t, - int64_t nv_r, int64_t v_r); + llvm::Constant * + GenerateCovariantThunk(llvm::Function *Fn, const CXXMethodDecl *MD, + bool Extern, + const CovariantThunkAdjustment &Adjustment); void EmitCtorPrologue(const CXXConstructorDecl *CD, CXXCtorType Type); |