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
This commit is contained in:
Anders Carlsson
2010-01-02 01:01:18 +00:00
parent 2e4be2c340
commit e36a6b3e44
9 changed files with 209 additions and 90 deletions

View File

@@ -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,