Support for code generation of Objective-C top-level language constructs.
Implemented by David Chisnall!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51835 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjCEtoile.cpp b/lib/CodeGen/CGObjCEtoile.cpp
index d5023b4..94471ad 100644
--- a/lib/CodeGen/CGObjCEtoile.cpp
+++ b/lib/CodeGen/CGObjCEtoile.cpp
@@ -46,10 +46,15 @@
   llvm::Value *getSelector(llvm::IRBuilder &Builder,
       llvm::Value *SelName,
       llvm::Value *SelTypes);
-  virtual llvm::Function *MethodPreamble(const llvm::Type *ReturnTy,
+  virtual llvm::Function *MethodPreamble(
+                                         const std::string &ClassName,
+                                         const std::string &CategoryName,
+                                         const std::string &MethodName,
+                                         const llvm::Type *ReturnTy,
                                          const llvm::Type *SelfTy,
                                          const llvm::Type **ArgTy,
                                          unsigned ArgC,
+                                         bool isClassMethod,
                                          bool isVarArg);
 };
 } // end anonymous namespace
@@ -207,10 +212,14 @@
 /// Generates an LLVM Function object corresponding to the Objective-C method,
 /// including the implicit arguments.
 llvm::Function *CGObjCEtoile::MethodPreamble(
+                                         const std::string &ClassName,
+                                         const std::string &CategoryName,
+                                         const std::string &MethodName,
                                          const llvm::Type *ReturnTy,
                                          const llvm::Type *SelfTy,
                                          const llvm::Type **ArgTy,
                                          unsigned ArgC,
+                                         bool isClassMethod,
                                          bool isVarArg) {
   std::vector<const llvm::Type*> Args;
   //Args.push_back(SelfTy);