-Index: source/common/normalizer2impl.h
-===================================================================
---- source/common/normalizer2impl.h (revision 73520)
-+++ source/common/normalizer2impl.h (working copy)
-@@ -31,7 +31,7 @@
-
- U_NAMESPACE_BEGIN
-
--class CanonIterData;
-+struct CanonIterData;
-
- class Hangul {
- public:
Index: source/common/locmap.c
===================================================================
---- source/common/locmap.c (revision 73520)
+--- source/common/locmap.c (revision 259715)
+++ source/common/locmap.c (working copy)
-@@ -30,9 +30,11 @@
+@@ -29,6 +29,7 @@
#include "cstring.h"
#include "cmemory.h"
+#if 0
- #if defined(U_WINDOWS) && defined(_MSC_VER) && (_MSC_VER >= 1500)
+ #if U_PLATFORM == U_PF_WINDOWS && defined(_MSC_VER) && (_MSC_VER >= 1500)
+ /*
+ * TODO: It seems like we should widen this to
+@@ -40,6 +41,7 @@
+ */
#define USE_WINDOWS_LOCALE_API
#endif
+#endif
#ifdef USE_WINDOWS_LOCALE_API
#include <windows.h>
-Index: source/common/putil.c
+Index: source/common/stringpiece.cpp
===================================================================
---- source/common/putil.c (revision 73520)
-+++ source/common/putil.c (working copy)
-@@ -2159,7 +2159,7 @@
-
- if(U_FAILURE(*status)) return NULL;
-
-- lib = LoadLibrary(libName);
-+ lib = LoadLibraryA(libName);
-
- if(lib==NULL) {
- *status = U_MISSING_RESOURCE_ERROR;
-Index: source/i18n/zstrfmt.h
+--- source/common/stringpiece.cpp (revision 259715)
++++ source/common/stringpiece.cpp (working copy)
+@@ -68,6 +68,14 @@
+ }
+
+
++/* Microsoft Visual Studio (even 2013) complains about redefinition of this
++ * static const class variable. However, the C++ standard states that this
++ * definition is correct. Perhaps there is a bug in the Microsoft compiler.
++ * This is not an issue on any other compilers (that we know of).
++ * Cygwin with MSVC 9.0 also complains here about redefinition.
++ */
++#if (!defined(_MSC_VER) || (_MSC_VER > 1800)) && !defined(CYGWINMSVC)
+ const int32_t StringPiece::npos = 0x7fffffff;
++#endif
+
+ U_NAMESPACE_END
+Index: source/common/umutex.h
===================================================================
---- source/i18n/zstrfmt.h (revision 73520)
-+++ source/i18n/zstrfmt.h (working copy)
-@@ -80,7 +80,7 @@
- * ZSFStringPool Pool of (UChar *) strings. Provides for sharing of repeated
- * strings within ZoneStringFormats.
- */
--class ZSFStringPoolChunk;
-+struct ZSFStringPoolChunk;
- class ZSFStringPool: public UMemory {
- public:
- ZSFStringPool(UErrorCode &status);
-Index: source/i18n/fmtable.cpp
+--- source/common/umutex.h (revision 266014)
++++ source/common/umutex.h (working copy)
+@@ -320,7 +320,7 @@
+
+
+ typedef struct UMutex {
+- UInitOnce fInitOnce;
++ icu::UInitOnce fInitOnce;
+ CRITICAL_SECTION fCS;
+ } UMutex;
+
+Index: source/common/wintz.c
===================================================================
---- source/i18n/fmtable.cpp (revision 73520)
-+++ source/i18n/fmtable.cpp (working copy)
-@@ -199,6 +199,9 @@
- // -------------------------------------
- // copy constructor
+--- source/common/wintz.c (revision 266014)
++++ source/common/wintz.c (working copy)
+@@ -285,7 +285,7 @@
+ tmpid[0] = 0;
-+#ifdef U_WINODWS
-+#pragram warning(disable: 4996)
-+#endif
+ id = GetUserGeoID(GEOCLASS_NATION);
+- errorCode = GetGeoInfo(id,GEO_ISO2,ISOcode,3,0);
++ errorCode = GetGeoInfoA(id,GEO_ISO2,ISOcode,3,0);
- Formattable::Formattable(const Formattable &source)
- : UObject(*this)
+ bundle = ures_openDirect(NULL, "windowsZones", &status);
+ ures_getByKey(bundle, "mapTimezones", bundle, &status);