From: Anders Carlsson Date: Fri, 30 Apr 2010 19:45:28 +0000 (+0000) Subject: Remove an unnecessary parameter from EmitClassCopyAssignment. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=106d9ea61c7211b370c5b97a0288652c23da329a;p=clang Remove an unnecessary parameter from EmitClassCopyAssignment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102747 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp index 6345ca34ba..56d0e695c5 100644 --- a/lib/CodeGen/CGClass.cpp +++ b/lib/CodeGen/CGClass.cpp @@ -624,19 +624,14 @@ void CodeGenFunction::EmitClassMemberwiseCopy( // FIXME. Consolidate this with EmitClassMemberwiseCopy as they share a lot. void CodeGenFunction::EmitClassCopyAssignment(llvm::Value *Dest, llvm::Value *Src, - const CXXRecordDecl *ClassDecl, - const CXXRecordDecl *BaseClassDecl) { - if (ClassDecl) { - Dest = OldGetAddressOfBaseClass(Dest, ClassDecl, BaseClassDecl); - Src = OldGetAddressOfBaseClass(Src, ClassDecl, BaseClassDecl); - } - if (BaseClassDecl->hasTrivialCopyAssignment()) { - EmitAggregateCopy(Dest, Src, getContext().getTagDeclType(BaseClassDecl)); + const CXXRecordDecl *ClassDecl) { + if (ClassDecl->hasTrivialCopyAssignment()) { + EmitAggregateCopy(Dest, Src, getContext().getTagDeclType(ClassDecl)); return; } const CXXMethodDecl *MD = 0; - BaseClassDecl->hasConstCopyAssignment(getContext(), MD); + ClassDecl->hasConstCopyAssignment(getContext(), MD); assert(MD && "EmitClassCopyAssignment - missing copy assign"); const FunctionProtoType *FPT = MD->getType()->getAs(); @@ -799,7 +794,7 @@ void CodeGenFunction::SynthesizeCXXCopyAssignment(const FunctionArgList &Args) { /*NullCheckValue=*/false); CXXRecordDecl *BaseClassDecl = cast(Base->getType()->getAs()->getDecl()); - EmitClassCopyAssignment(Dest, Src, 0, BaseClassDecl); + EmitClassCopyAssignment(Dest, Src, BaseClassDecl); } for (CXXRecordDecl::field_iterator Field = ClassDecl->field_begin(), @@ -828,7 +823,7 @@ void CodeGenFunction::SynthesizeCXXCopyAssignment(const FunctionArgList &Args) { } else EmitClassCopyAssignment(LHS.getAddress(), RHS.getAddress(), - 0 /*ClassDecl*/, FieldClassDecl); + FieldClassDecl); continue; } // Do a built-in assignment of scalar data members. diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index 3a8f60c4bd..f164cf5b84 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -822,8 +822,7 @@ public: QualType Ty); void EmitClassCopyAssignment(llvm::Value *DestValue, llvm::Value *SrcValue, - const CXXRecordDecl *ClassDecl, - const CXXRecordDecl *BaseClassDecl); + const CXXRecordDecl *ClassDecl); void EmitDelegateCXXConstructorCall(const CXXConstructorDecl *Ctor, CXXCtorType CtorType,