Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 66278)
+++ CMakeLists.txt	(working copy)
@@ -145,7 +145,7 @@
   add_definitions( -D_SCL_SECURE_NO_WARNINGS -DCRT_NONSTDC_NO_WARNINGS )
   add_definitions( -D_SCL_SECURE_NO_DEPRECATE )
   add_definitions( -wd4146 -wd4503 -wd4996 -wd4800 -wd4244 -wd4624 )
-  add_definitions( -wd4355 -wd4715 )
+  add_definitions( -wd4355 -wd4715 -wd4180 -wd4345 -wd4224 )
 endif( MSVC )
 
 include_directories( ${LLVM_BINARY_DIR}/include ${LLVM_MAIN_INCLUDE_DIR})
Index: include/llvm/Assembly/Writer.h
===================================================================
--- include/llvm/Assembly/Writer.h	(revision 66278)
+++ include/llvm/Assembly/Writer.h	(working copy)
@@ -18,6 +18,7 @@
 #define LLVM_ASSEMBLY_WRITER_H
 
 #include <iosfwd>
+#include <string>
 
 namespace llvm {
 
Index: include/llvm/CodeGen/ScheduleDAG.h
===================================================================
--- include/llvm/CodeGen/ScheduleDAG.h	(revision 66278)
+++ include/llvm/CodeGen/ScheduleDAG.h	(working copy)
@@ -23,7 +23,7 @@
 #include "llvm/ADT/PointerIntPair.h"
 
 namespace llvm {
-  struct SUnit;
+  class SUnit;
   class MachineConstantPool;
   class MachineFunction;
   class MachineModuleInfo;
Index: include/llvm/Support/CommandLine.h
===================================================================
--- include/llvm/Support/CommandLine.h	(revision 66278)
+++ include/llvm/Support/CommandLine.h	(working copy)
@@ -833,8 +833,8 @@
        typename ParserClass::parser_data_type();
     if (Parser.parse(*this, ArgName, Arg, Val))
       return true;                            // Parse error!
-    setValue(Val);
-    setPosition(pos);
+    this->setValue(Val);
+    this->setPosition(pos);
     return false;
   }
 
Index: lib/CodeGen/LiveIntervalAnalysis.cpp
===================================================================
--- lib/CodeGen/LiveIntervalAnalysis.cpp	(revision 66278)
+++ lib/CodeGen/LiveIntervalAnalysis.cpp	(working copy)
@@ -2045,7 +2045,7 @@
         if (CanFold && !Ops.empty()) {
           if (tryFoldMemoryOperand(MI, vrm, NULL, index, Ops, true, Slot,VReg)){
             Folded = true;
-            if (FoundUse > 0) {
+            if (FoundUse) {
               // Also folded uses, do not issue a load.
               eraseRestoreInfo(Id, index, VReg, RestoreMBBs, RestoreIdxes);
               nI.removeRange(getLoadIndex(index), getUseIndex(index)+1);
Index: lib/System/Win32/Alarm.inc
===================================================================
--- lib/System/Win32/Alarm.inc	(revision 66278)
+++ lib/System/Win32/Alarm.inc	(working copy)
@@ -39,5 +39,5 @@
 extern "C"  void __stdcall Sleep(unsigned long);
 
 void sys::Sleep(unsigned n) {
-  Sleep(n*1000);
+  ::Sleep(n*1000);
 }
Index: lib/System/Win32/Signals.inc
===================================================================
--- lib/System/Win32/Signals.inc	(revision 66278)
+++ lib/System/Win32/Signals.inc	(working copy)
@@ -14,6 +14,7 @@
 #include "Win32.h"
 #include <stdio.h>
 #include <vector>
+#include <algorithm>
 
 #ifdef __MINGW32__
  #include <imagehlp.h>
@@ -111,7 +112,17 @@
   InterruptFunction = IF;
   LeaveCriticalSection(&CriticalSection);
 }
+
+
+/// AddSignalHandler - Add a function to be called when a signal is delivered
+/// to the process.  The handler can have a cookie passed to it to identify
+/// what instance of the handler it is.
+void sys::AddSignalHandler(void (*FnPtr)(void *), void *Cookie) {
+  if (CallBacksToRun == 0)
+    CallBacksToRun = new std::vector<std::pair<void(*)(void*), void*> >();
+  CallBacksToRun->push_back(std::make_pair(FnPtr, Cookie));
 }
+}
 
 static void Cleanup() {
   EnterCriticalSection(&CriticalSection);
@@ -256,13 +267,3 @@
   return FALSE;
 }
 
-/// AddSignalHandler - Add a function to be called when a signal is delivered
-/// to the process.  The handler can have a cookie passed to it to identify
-/// what instance of the handler it is.
-void sys::AddSignalHandler(void (*FnPtr)(void *), void *Cookie) {
-  if (CallBacksToRun == 0)
-    CallBacksToRun = new std::vector<std::pair<void(*)(void*), void*> >();
-  CallBacksToRun->push_back(std::make_pair(FnPtr, Cookie));
-  std::for_each(KillSigs, KillSigsEnd, RegisterHandler);
-}
-
Index: utils/TableGen/TGParser.h
===================================================================
--- utils/TableGen/TGParser.h	(revision 66278)
+++ utils/TableGen/TGParser.h	(working copy)
@@ -23,7 +23,7 @@
   struct RecTy;
   struct Init;
   struct MultiClass;
-  class SubClassReference;
+  struct SubClassReference;
   
   struct LetRecord {
     std::string Name;
