Change self/_cmd to be instances of ImplicitParamDecl instead of ParmVarDecl.
Patch by David Chisnall!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52422 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index 6712d2f..b620425 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -232,7 +232,7 @@
   llvm::IRBuilder Builder;
   
   // Holds the Decl for the current function or method
-  const FunctionDecl *CurFuncDecl;
+  const Decl *CurFuncDecl;
   QualType FnRetTy;
   llvm::Function *CurFn;
 
@@ -277,11 +277,16 @@
 
   void GenerateObjCMethod(const ObjCMethodDecl *OMD);
   void GenerateCode(const FunctionDecl *FD);
+  void GenerateFunction(const Stmt *Body);
   
   const llvm::Type *ConvertType(QualType T);
 
   llvm::Value *LoadObjCSelf();
-  
+
+  /// isObjCPointerType - Return true if the specificed AST type will map onto
+  /// some Objective-C pointer type.
+  static bool isObjCPointerType(QualType T);
+
   /// hasAggregateLLVMType - Return true if the specified AST type will map into
   /// an aggregate LLVM type or is void.
   static bool hasAggregateLLVMType(QualType T);