Initialize CGFunctionInfo isVariadic bit correctly.

llvm-svn: 63471
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index b6c5d8d..08d5da3 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/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;