From e36a6b3e44915d1305fa578b16ed0d815ec1b19c Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sat, 2 Jan 2010 01:01:18 +0000 Subject: Correctly pass VTT parameters to constructors and destructors. The VTTs aren't yet used in the ctors/dtors, but that will follow. llvm-svn: 92409 --- clang/lib/CodeGen/CodeGenFunction.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'clang/lib/CodeGen/CodeGenFunction.h') diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index 273ddcac797..fadb38fcb95 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -728,6 +728,10 @@ public: /// generating code for an C++ member function. llvm::Value *LoadCXXThis(); + /// LoadCXXVTT - Load the VTT parameter to base constructors/destructors have + /// virtual bases. + llvm::Value *LoadCXXVTT(); + /// GetAddressOfBaseClass - This function will add the necessary delta to the /// load of 'this' and returns address of the base class. // FIXME. This currently only does a derived to non-virtual base conversion. @@ -1057,6 +1061,7 @@ public: llvm::Value *Callee, ReturnValueSlot ReturnValue, llvm::Value *This, + llvm::Value *VTT, CallExpr::const_arg_iterator ArgBeg, CallExpr::const_arg_iterator ArgEnd); RValue EmitCXXMemberCallExpr(const CXXMemberCallExpr *E, -- cgit v1.2.3