Initialize CGFunctionInfo isVariadic bit correctly.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63471 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp
index b6c5d8d..08d5da3 100644
--- a/lib/CodeGen/CGCall.cpp
+++ b/lib/CodeGen/CGCall.cpp
@@ -1284,8 +1284,10 @@
   }
   
   llvm::CallInst *CI = Builder.CreateCall(Callee,&Args[0],&Args[0]+Args.size());
-  bool isVariadic = false; // cast<llvm::FunctionType>(Callee->getType())->isVarArg();
-  CGFunctionInfo CallInfo(RetTy, CallArgs, isVariadic);
+  const llvm::Type *FnType = 
+    cast<llvm::PointerType>(Callee->getType())->getElementType();
+  CGFunctionInfo CallInfo(RetTy, CallArgs, 
+                          cast<llvm::FunctionType>(FnType)->isVarArg());
 
   // FIXME: Provide TargetDecl so nounwind, noreturn, etc, etc get set.
   CodeGen::AttributeListType AttributeList;