Index: include/llvm/ADT/ImmutableSet.h
===================================================================
--- include/llvm/ADT/ImmutableSet.h	(revision 47443)
+++ include/llvm/ADT/ImmutableSet.h	(working copy)
@@ -19,6 +19,11 @@
 #include "llvm/Support/DataTypes.h"
 #include <cassert>
 
+#ifdef _MSC_VER
+// Get std::equal_to
+#include <functional>
+#endif
+
 namespace llvm {
   
 //===----------------------------------------------------------------------===//    
Index: lib/System/Win32/DynamicLibrary.inc
===================================================================
--- lib/System/Win32/DynamicLibrary.inc	(revision 47443)
+++ lib/System/Win32/DynamicLibrary.inc	(working copy)
@@ -44,7 +44,12 @@
 #endif
 
 extern "C" {
-  static BOOL CALLBACK ELM_Callback(PSTR  ModuleName,
+  static BOOL CALLBACK ELM_Callback(
+#ifdef __MINGW32__
+									PSTR  ModuleName,
+#else
+									PCSTR  ModuleName,
+#endif
                                     ModuleBaseType ModuleBase,
                                     ULONG ModuleSize,
                                     PVOID UserContext)
Index: win32/config.h
===================================================================
--- win32/config.h	(revision 47443)
+++ win32/config.h	(working copy)
@@ -1,6 +1,7 @@
 /* This file is appended to config.h.in to form the Windows version of
  * config.h */
 
+#define LLVM_HOSTTRIPLE "i686-pc-win32"
 #define PACKAGE_NAME "LLVM (win32 vc8.0)" 
 #define PACKAGE_VERSION 2.1
 #define HAVE_WINDOWS_H 1 
