blob: de079f059876f839251ba78b0a27b96db884d57d [file] [log] [blame]
diff --git a/source/common/locmap.c b/source/common/locmap.c
index c746ce3..224a2b1 100644
--- a/source/common/locmap.c
+++ b/source/common/locmap.c
@@ -29,6 +29,7 @@
#include "cstring.h"
#include "cmemory.h"
+#if 0
#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>
diff --git a/source/common/stringpiece.cpp b/source/common/stringpiece.cpp
index 0fb2b3e..007713e 100644
--- a/source/common/stringpiece.cpp
+++ b/source/common/stringpiece.cpp
@@ -68,6 +68,14 @@ operator==(const StringPiece& x, const StringPiece& y) {
}
+/* 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
diff --git a/source/i18n/dtfmtsym.cpp b/source/i18n/dtfmtsym.cpp
index e99670d..c9a3502 100644
--- a/source/i18n/dtfmtsym.cpp
+++ b/source/i18n/dtfmtsym.cpp
@@ -169,7 +169,7 @@ SharedDateFormatSymbols::~SharedDateFormatSymbols() {
template<> U_I18N_API
const SharedDateFormatSymbols *
LocaleCacheKey<SharedDateFormatSymbols>::createObject(
- const void */*unusedContext*/, UErrorCode &status) const {
+ const void * /*unusedContext*/, UErrorCode &status) const {
char type[256];
Calendar::getCalendarTypeFromLocale(fLoc, type, UPRV_LENGTHOF(type), status);
if (U_FAILURE(status)) {
diff --git a/source/common/sharedobject.h b/source/common/sharedobject.h
index 4402869..e5062cc 100644
--- a/source/common/sharedobject.h
+++ b/source/common/sharedobject.h
@@ -21,7 +21,7 @@ U_NAMESPACE_BEGIN
* update cache metrics. No other part of ICU, except for SharedObject,
* should directly call the methods of this base class.
*/
-class UnifiedCacheBase : public UObject {
+class U_COMMON_API UnifiedCacheBase : public UObject {
public:
UnifiedCacheBase() { }