Index: source/common/stringpiece.cpp |
diff --git a/source/common/stringpiece.cpp b/source/common/stringpiece.cpp |
index 0fb2b3e54cbff90499b21c04661e012a4e781fb9..007713e6f8f30310c612f52dc607e548a87bb9b7 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 |