Index: Targets.cpp
===================================================================
--- Targets.cpp	(revision 110317)
+++ Targets.cpp	(working copy)
@@ -1349,6 +1349,12 @@
     // 300=386, 400=486, 500=Pentium, 600=Blend (default)
     // We lost the original triple, so we use the default.
     Builder.defineMacro("_M_IX86", "600");
+	// VS 2008: stop LONGLONG from being typedef:ed to "double"
+	Builder.defineMacro("_INTEGRAL_MAX_BITS", "64");
+	// VS 2008: use strict C to avoid a struct member named "bool" in C++
+	Builder.defineMacro("__STDC__");
+	// VS 2008: stop "IID_PPV_ARGS_Helper" from using undefined IUnknown
+	Builder.defineMacro("WIN32_LEAN_AND_MEAN");
   }
 };
 } // end anonymous namespace
