Index: Languages/LanguageKit/CodeGen/CodeGenModule.mm
===================================================================
--- Languages/LanguageKit/CodeGen/CodeGenModule.mm	(revision 7350)
+++ Languages/LanguageKit/CodeGen/CodeGenModule.mm	(working copy)
@@ -1,4 +1,6 @@
+#undef __block
 #include "CodeGenModule.h"
+#define __block __attribute__((__blocks__(byref)))
 #include "CodeGenBlock.h"
 #include "LLVMCompat.h"
 
Index: Languages/LanguageKit/CodeGen/CodeGenBlock.mm
===================================================================
--- Languages/LanguageKit/CodeGen/CodeGenBlock.mm	(revision 7350)
+++ Languages/LanguageKit/CodeGen/CodeGenBlock.mm	(working copy)
@@ -1,4 +1,6 @@
+#undef __block
 #include "CodeGenBlock.h"
+#define __block __attribute__((__blocks__(byref)))
 #include "CodeGenModule.h"
 #include "LLVMCompat.h"
 #include <llvm/Support/IRBuilder.h>
Index: Languages/LanguageKit/CodeGen/CodeGenAssignments.mm
===================================================================
--- Languages/LanguageKit/CodeGen/CodeGenAssignments.mm	(revision 7350)
+++ Languages/LanguageKit/CodeGen/CodeGenAssignments.mm	(working copy)
@@ -1,5 +1,7 @@
 #import <Foundation/Foundation.h>
+#undef __block
 #import "CodeGenAssignments.h"
+#define __block __attribute__((__blocks__(byref)))
 #include <ctype.h>
 #include <llvm/Module.h>
 
Index: Languages/LanguageKit/CodeGen/CodeGenTypes.mm
===================================================================
--- Languages/LanguageKit/CodeGen/CodeGenTypes.mm	(revision 7350)
+++ Languages/LanguageKit/CodeGen/CodeGenTypes.mm	(working copy)
@@ -1,4 +1,6 @@
+#undef __block
 #include "CodeGenModule.h"
+#define __block __attribute__((__blocks__(byref)))
 #include "LLVMCompat.h"
 
 #include "llvm/LinkAllPasses.h"
Index: Languages/LanguageKit/CodeGen/LLVMCodeGen.mm
===================================================================
--- Languages/LanguageKit/CodeGen/LLVMCodeGen.mm	(revision 7350)
+++ Languages/LanguageKit/CodeGen/LLVMCodeGen.mm	(working copy)
@@ -11,8 +11,9 @@
 #endif
 }
 
-
+#undef __block
 #include "CodeGenModule.h"
+#define __block __attribute__((__blocks__(byref)))
 #include "CodeGenLexicalScope.h"
 #include <llvm/Constants.h>
 #include <llvm/LLVMContext.h>
Index: Languages/LanguageKit/CodeGen/CodeGenLexicalScope.mm
===================================================================
--- Languages/LanguageKit/CodeGen/CodeGenLexicalScope.mm	(revision 7350)
+++ Languages/LanguageKit/CodeGen/CodeGenLexicalScope.mm	(working copy)
@@ -1,4 +1,6 @@
+#undef __block
 #include <llvm/Support/IRBuilder.h>
+#define __block __attribute__((__blocks__(byref)))
 #include <llvm/Module.h>
 #include "CodeGenModule.h"
 #include "CodeGenBlock.h"
Index: Languages/LanguageKit/CodeGen/CGObjCGNU.mm
===================================================================
--- Languages/LanguageKit/CodeGen/CGObjCGNU.mm	(revision 7350)
+++ Languages/LanguageKit/CodeGen/CGObjCGNU.mm	(working copy)
@@ -8,7 +8,9 @@
 //===----------------------------------------------------------------------===//
 
 #import "ABI.h"
+#undef __block
 #import "CGObjCRuntime.h"
+#define __block __attribute__((__blocks__(byref)))
 #import "CodeGenTypes.h"
 #include "llvm/Module.h"
 #include "llvm/Support/Compiler.h"
