aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-04-29 19:14:43 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-04-29 19:14:43 +0000
commit2f87216d26d2fce02d2aa6d6dd0a37d61f75fdfb (patch)
tree1597aa3e52bc66776298df48569f14be63b6e27c /lib/CodeGen
parent19c30c00e5e01e4608a43c7deb504f343f09e46d (diff)
Type of msgSend message dispatch API is a vararg.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70404 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/CGObjCMac.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index ae3c267190..5b1a082ba2 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -1413,7 +1413,9 @@ CodeGen::RValue CGObjCMac::EmitMessageSend(CodeGen::CodeGenFunction &CGF,
CodeGenTypes &Types = CGM.getTypes();
const CGFunctionInfo &FnInfo = Types.getFunctionInfo(ResultType, ActualArgs);
- const llvm::FunctionType *FTy = Types.GetFunctionType(FnInfo, false);
+ // Type is a vararg. In 32bit code gen. it is ignored. In 64bit it is
+ // looked at.
+ const llvm::FunctionType *FTy = Types.GetFunctionType(FnInfo, true);
llvm::Constant *Fn;
if (CGM.ReturnTypeUsesSret(FnInfo)) {