aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGObjCMac.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-02-02 21:43:58 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-02-02 21:43:58 +0000
commitbb36d331f439f49859efcfb4435c61762fbba6f9 (patch)
tree3139391810c41d81ca06b776f0fa02aa4623c353 /lib/CodeGen/CGObjCMac.cpp
parentd863517ab7e936cbc3244a0fc431c8b672f5ece4 (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.cpp12
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,