Index: MdePkg/Include/Base.h
===================================================================
--- MdePkg/Include/Base.h	(revision 14115)
+++ MdePkg/Include/Base.h	(working copy)
@@ -39,7 +39,7 @@
   @param  Size  The expected size for the TYPE.
 
 **/
-#define VERIFY_SIZE_OF(TYPE, Size) extern UINT8 _VerifySizeof##TYPE[(sizeof(TYPE) == (Size)) / (sizeof(TYPE) == (Size))]
+#define VERIFY_SIZE_OF(TYPE, Size) extern UINT8 _VerifySizeof##TYPE[(INTN) (sizeof(TYPE) == (Size)) / (INTN) (sizeof(TYPE) == (Size))]
 
 //
 // Verify that ProcessorBind.h produced UEFI Data Types that are compliant with
Index: StdLib/Include/wchar.h
===================================================================
--- StdLib/Include/wchar.h	(revision 14115)
+++ StdLib/Include/wchar.h	(working copy)
@@ -169,6 +169,11 @@
 
 #if defined(_MSC_VER)
   #pragma warning ( disable : 4142 )
+
+  #if !defined(_WCHAR_T_DEFINED) && !defined(_NATIVE_WCHAR_T_DEFINED)
+    typedef unsigned short wchar_t;
+    #define _WCHAR_T_DEFINED
+  #endif
 #endif
 
 #ifdef _EFI_SIZE_T_
Index: StdLib/LibC/gdtoa/gdtoa.h
===================================================================
--- StdLib/LibC/gdtoa/gdtoa.h	(revision 14115)
+++ StdLib/LibC/gdtoa/gdtoa.h	(working copy)
@@ -38,10 +38,10 @@
 #include "arith.h"
 
 #ifndef Long
-#define Long EFI_LONG_T
+#define Long int32_t
 #endif
 #ifndef ULong
-#define ULong EFI_ULONG_T
+#define ULong uint32_t
 #endif
 #ifndef UShort
 #define UShort uint16_t
Index: StdLib/LibC/gdtoa/gdtoaimp.h
===================================================================
--- StdLib/LibC/gdtoa/gdtoaimp.h	(revision 14115)
+++ StdLib/LibC/gdtoa/gdtoaimp.h	(working copy)
@@ -179,8 +179,8 @@
 #include <stdint.h>
 #define Short   int16_t
 #define UShort uint16_t
-#define Long   EFI_LONG_T
-#define ULong  EFI_ULONG_T
+#define Long   int32_t
+#define ULong  uint32_t
 #define LLong   int64_t
 #define ULLong uint64_t
 
Index: StdLib/StdLib.inc
===================================================================
--- StdLib/StdLib.inc	(revision 14115)
+++ StdLib/StdLib.inc	(working copy)
@@ -76,12 +76,12 @@
 ###
   MdePkg/Library/BaseLib/BaseLib.inf {
     <BuildOptions>
-      MSFT:*_*_*_CC_FLAGS    = /X /Zc:wchar_t /GL-
+      MSFT:*_*_*_CC_FLAGS    = /X /GL-
   }
 
   MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf {
     <BuildOptions>
-      MSFT:*_*_*_CC_FLAGS    = /X /Zc:wchar_t /GL-
+      MSFT:*_*_*_CC_FLAGS    = /X /GL-
   }
 
 ##########
@@ -101,7 +101,7 @@
   # These Build Options are used when building the Standard Libraries to be run
   # on real hardware.
   INTEL:*_*_*_CC_FLAGS      = /Qfreestanding /D UEFI_C_SOURCE
-   MSFT:*_*_*_CC_FLAGS      = /X /Zc:wchar_t /D UEFI_C_SOURCE
+   MSFT:*_*_*_CC_FLAGS      = /X /D UEFI_C_SOURCE
     GCC:*_*_*_CC_FLAGS      = -nostdinc -nostdlib -DUEFI_C_SOURCE
     RVCT:*_*_*_CC_FLAGS      = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
   ARMGCC:*_*_*_CC_FLAGS      = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
