Add a very basic implemenation of global blocks. This needs to be cleaned up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64387 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index f6196fe..ce4a424 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -243,6 +243,18 @@
   void GenerateObjCSetter(ObjCImplementationDecl *IMP,
                           const ObjCPropertyImplDecl *PID);
 
+  struct BlockInfo {
+    const llvm::Type *BlockLiteralTy;
+    
+    const char *NameSuffix;
+
+    BlockInfo(const llvm::Type *blt, const char *ns) 
+      :  BlockLiteralTy(blt), NameSuffix(ns) {}
+  };
+  
+  llvm::Function *GenerateBlockFunction(const BlockExpr *Expr,
+                                        const BlockInfo& Info);
+  
   void GenerateCode(const FunctionDecl *FD,
                     llvm::Function *Fn);
   void StartFunction(const Decl *D, QualType RetTy,