Factor CodeGenFunction::StartFunction out of GenerateCode and
StartObjCMethod.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56030 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGCall.h b/lib/CodeGen/CGCall.h
index 78a83a8..efeb6ee 100644
--- a/lib/CodeGen/CGCall.h
+++ b/lib/CodeGen/CGCall.h
@@ -32,6 +32,7 @@
   class Decl;
   class FunctionDecl;
   class ObjCMethodDecl;
+  class VarDecl;
 
 namespace CodeGen {
   typedef llvm::SmallVector<llvm::ParamAttrsWithIndex, 8> ParamAttrListType;
@@ -40,6 +41,12 @@
   /// arguments in a call.
   typedef llvm::SmallVector<std::pair<RValue, QualType>, 16> CallArgList;
 
+  /// FunctionArgList - Type for representing both the decl and type
+  /// of parameters to a function. The decl must be either a
+  /// ParmVarDecl or ImplicitParamDecl.
+  typedef llvm::SmallVector<std::pair<const VarDecl*, QualType>, 
+                            16> FunctionArgList;
+
   /// CGFunctionInfo - Class to encapsulate the information about a
   /// function definition.
   class CGFunctionInfo {