Remove another unused function.

llvm-svn: 102871
This commit is contained in:
Anders Carlsson 2010-05-02 18:13:35 +00:00
parent 54eb4843b1
commit 245820b9d9
2 changed files with 0 additions and 39 deletions

View File

@ -506,42 +506,6 @@ void CodeGenFunction::EmitClassMemberwiseCopy(
EmitCopyCtorCall(*this, CopyCtor, Dest, Src);
}
/// EmitClassCopyAssignment - This routine generates code to copy assign a class
/// object from SrcValue to DestValue. Assignment can be either a bitwise
/// assignment of via an assignment operator call.
// FIXME. Consolidate this with EmitClassMemberwiseCopy as they share a lot.
void
CodeGenFunction::EmitClassCopyAssignment(llvm::Value *Dest, llvm::Value *Src,
const CXXRecordDecl *ClassDecl) {
if (ClassDecl->hasTrivialCopyAssignment()) {
EmitAggregateCopy(Dest, Src, getContext().getTagDeclType(ClassDecl));
return;
}
const CXXMethodDecl *MD = 0;
ClassDecl->hasConstCopyAssignment(getContext(), MD);
assert(MD && "EmitClassCopyAssignment - missing copy assign");
const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>();
const llvm::Type *LTy =
CGM.getTypes().GetFunctionType(CGM.getTypes().getFunctionInfo(MD),
FPT->isVariadic());
llvm::Constant *Callee = CGM.GetAddrOfFunction(MD, LTy);
CallArgList CallArgs;
// Push the this (Dest) ptr.
CallArgs.push_back(std::make_pair(RValue::get(Dest),
MD->getThisType(getContext())));
// Push the Src ptr.
QualType SrcTy = MD->getParamDecl(0)->getType();
RValue SrcValue = SrcTy->isReferenceType() ? RValue::get(Src) :
RValue::getAggregate(Src);
CallArgs.push_back(std::make_pair(SrcValue, SrcTy));
EmitCall(CGM.getTypes().getFunctionInfo(CallArgs, FPT),
Callee, ReturnValueSlot(), CallArgs, MD);
}
/// SynthesizeCXXCopyConstructor - This routine implicitly defines body of a
/// copy constructor, in accordance with section 12.8 (p7 and p8) of C++03
/// The implicitly-defined copy constructor for class X performs a memberwise

View File

@ -812,9 +812,6 @@ public:
void EmitClassMemberwiseCopy(llvm::Value *DestValue, llvm::Value *SrcValue,
const CXXRecordDecl *ClassDecl);
void EmitClassCopyAssignment(llvm::Value *DestValue, llvm::Value *SrcValue,
const CXXRecordDecl *ClassDecl);
void EmitDelegateCXXConstructorCall(const CXXConstructorDecl *Ctor,
CXXCtorType CtorType,
const FunctionArgList &Args);