diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-02-02 21:43:58 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-02-02 21:43:58 +0000 |
commit | bb36d331f439f49859efcfb4435c61762fbba6f9 (patch) | |
tree | 3139391810c41d81ca06b776f0fa02aa4623c353 /lib/CodeGen/CGObjCMac.cpp | |
parent | d863517ab7e936cbc3244a0fc431c8b672f5ece4 (diff) |
ABI handling API changes.
- Lift CGFunctionInfo creation up to callers of EmitCall.
- Move isVariadic bit out of CGFunctionInfo, take as argument to
GetFunctionType instead.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63550 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjCMac.cpp')
-rw-r--r-- | lib/CodeGen/CGObjCMac.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index 1bea633589..6bc03fe085 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/lib/CodeGen/CGObjCMac.cpp @@ -806,9 +806,8 @@ CodeGen::RValue CGObjCMac::EmitMessageSend(CodeGen::CodeGenFunction &CGF, CGF.getContext().getObjCSelType())); ActualArgs.insert(ActualArgs.end(), CallArgs.begin(), CallArgs.end()); - const llvm::FunctionType *FTy = - CGM.getTypes().GetFunctionType(CGFunctionInfo(ResultType, ActualArgs, - false)); + CGFunctionInfo FnInfo(ResultType, ActualArgs); + const llvm::FunctionType *FTy = CGM.getTypes().GetFunctionType(FnInfo, false); llvm::Constant *Fn; if (CGM.ReturnTypeUsesSret(ResultType)) { @@ -821,7 +820,7 @@ CodeGen::RValue CGObjCMac::EmitMessageSend(CodeGen::CodeGenFunction &CGF, Fn = ObjCTypes.getSendFn(IsSuper); } Fn = llvm::ConstantExpr::getBitCast(Fn, llvm::PointerType::getUnqual(FTy)); - return CGF.EmitCall(Fn, ResultType, ActualArgs); + return CGF.EmitCall(Fn, FnInfo, ActualArgs); } llvm::Value *CGObjCMac::GenerateProtocolRef(CGBuilderTy &Builder, @@ -1665,12 +1664,13 @@ llvm::Constant *CGObjCMac::EmitMethodList(const std::string &Name, } llvm::Function *CGObjCCommonMac::GenerateMethod(const ObjCMethodDecl *OMD, - const ObjCContainerDecl *CD) { + const ObjCContainerDecl *CD) { std::string Name; GetNameForMethod(OMD, CD, Name); const llvm::FunctionType *MethodTy = - CGM.getTypes().GetFunctionType(CGFunctionInfo(OMD, CGM.getContext())); + CGM.getTypes().GetFunctionType(CGFunctionInfo(OMD, CGM.getContext()), + OMD->isVariadic()); llvm::Function *Method = llvm::Function::Create(MethodTy, llvm::GlobalValue::InternalLinkage, |