git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90411 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eli Friedman 2009-12-03 04:27:05 +00:00
Родитель 701c89e02c
Коммит 35c98cc4c0
3 изменённых файлов: 7 добавлений и 12 удалений

Просмотреть файл

@ -829,7 +829,7 @@ const char *CodeGenModule::getMangledCXXDtorName(const CXXDestructorDecl *D,
}
llvm::Constant *
CodeGenFunction::GenerateThunk(llvm::Function *Fn, const GlobalDecl &GD,
CodeGenFunction::GenerateThunk(llvm::Function *Fn, GlobalDecl GD,
bool Extern,
const ThunkAdjustment &ThisAdjustment) {
return GenerateCovariantThunk(Fn, GD, Extern,
@ -875,9 +875,8 @@ CodeGenFunction::DynamicTypeAdjust(llvm::Value *V,
llvm::Constant *
CodeGenFunction::GenerateCovariantThunk(llvm::Function *Fn,
const GlobalDecl &GD, bool Extern,
GlobalDecl GD, bool Extern,
const CovariantThunkAdjustment &Adjustment) {
const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
QualType ResultType = MD->getType()->getAs<FunctionType>()->getResultType();
@ -908,11 +907,7 @@ CodeGenFunction::GenerateCovariantThunk(llvm::Function *Fn,
const llvm::Type *Ty =
CGM.getTypes().GetFunctionType(CGM.getTypes().getFunctionInfo(MD),
FPT->isVariadic());
llvm::Value *Callee;
if (const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(MD))
Callee = CGM.GetAddrOfCXXDestructor(Dtor, GD.getDtorType());
else
Callee = CGM.GetAddrOfFunction(MD, Ty);
llvm::Value *Callee = CGM.GetAddrOfFunction(GD, Ty);
CallArgList CallArgs;
@ -990,7 +985,7 @@ CodeGenFunction::GenerateCovariantThunk(llvm::Function *Fn,
}
llvm::Constant *
CodeGenModule::BuildThunk(const GlobalDecl &GD, bool Extern,
CodeGenModule::BuildThunk(GlobalDecl GD, bool Extern,
const ThunkAdjustment &ThisAdjustment) {
const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
llvm::SmallString<256> OutName;

Просмотреть файл

@ -452,11 +452,11 @@ public:
const ThunkAdjustment &Adjustment);
/// GenerateThunk - Generate a thunk for the given method
llvm::Constant *GenerateThunk(llvm::Function *Fn, const GlobalDecl &GD,
llvm::Constant *GenerateThunk(llvm::Function *Fn, GlobalDecl GD,
bool Extern,
const ThunkAdjustment &ThisAdjustment);
llvm::Constant *
GenerateCovariantThunk(llvm::Function *Fn, const GlobalDecl &GD,
GenerateCovariantThunk(llvm::Function *Fn, GlobalDecl GD,
bool Extern,
const CovariantThunkAdjustment &Adjustment);

Просмотреть файл

@ -234,7 +234,7 @@ public:
llvm::Constant *GenerateRTTI(QualType Ty);
/// BuildThunk - Build a thunk for the given method.
llvm::Constant *BuildThunk(const GlobalDecl &GD, bool Extern,
llvm::Constant *BuildThunk(GlobalDecl GD, bool Extern,
const ThunkAdjustment &ThisAdjustment);
/// BuildCoVariantThunk - Build a thunk for the given method