diff options
author | Anders Carlsson <andersca@mac.com> | 2011-05-08 20:32:23 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2011-05-08 20:32:23 +0000 |
commit | c36783e8b9ace10c9e5c95c85deb8a615e7a5f61 (patch) | |
tree | c6771ec8422682bb037a29f11865668ff94f38d5 /clang/lib/CodeGen/CGExprCXX.cpp | |
parent | d8ee4beff4e79e07cc3a8a02510cb51c6952f5b9 (diff) | |
download | bcm5719-llvm-c36783e8b9ace10c9e5c95c85deb8a615e7a5f61.tar.gz bcm5719-llvm-c36783e8b9ace10c9e5c95c85deb8a615e7a5f61.zip |
Move code to emit the callee of an CXXOperatorCallExpr out into a separate function in CGClass.cpp
llvm-svn: 131075
Diffstat (limited to 'clang/lib/CodeGen/CGExprCXX.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExprCXX.cpp | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/clang/lib/CodeGen/CGExprCXX.cpp b/clang/lib/CodeGen/CGExprCXX.cpp index f6103b6c7aa..6ee9bc1033e 100644 --- a/clang/lib/CodeGen/CGExprCXX.cpp +++ b/clang/lib/CodeGen/CGExprCXX.cpp @@ -345,18 +345,7 @@ CodeGenFunction::EmitCXXOperatorMemberCallExpr(const CXXOperatorCallExpr *E, } } - const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>(); - const llvm::Type *Ty = - CGM.getTypes().GetFunctionType(CGM.getTypes().getFunctionInfo(MD), - FPT->isVariadic()); - llvm::Value *Callee; - if (MD->isVirtual() && - !canDevirtualizeMemberFunctionCalls(getContext(), - E->getArg(0), MD)) - Callee = BuildVirtualCall(MD, This, Ty); - else - Callee = CGM.GetAddrOfFunction(MD, Ty); - + llvm::Value *Callee = EmitCXXOperatorMemberCallee(E, MD, This); return EmitCXXMemberCall(MD, Callee, ReturnValue, This, /*VTT=*/0, E->arg_begin() + 1, E->arg_end()); } |