]> granicus.if.org Git - clang/commitdiff
Type of msgSend message dispatch API is a vararg.
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 29 Apr 2009 19:14:43 +0000 (19:14 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 29 Apr 2009 19:14:43 +0000 (19:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70404 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGObjCMac.cpp

index ae3c26719050ad79ef9742dff4b9206a9093f9fb..5b1a082ba2157bc78c7ec1d1558ea344f7db44ee 100644 (file)
@@ -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)) {