|
@@ -45,12 +45,15 @@
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#undef PROTOBUF_LITTLE_ENDIAN
|
|
#undef PROTOBUF_LITTLE_ENDIAN
|
|
-#ifdef _MSC_VER
|
|
|
|
|
|
+#ifdef _WIN32
|
|
// Assuming windows is always little-endian.
|
|
// Assuming windows is always little-endian.
|
|
|
|
+ // TODO(xiaofeng): The PROTOBUF_LITTLE_ENDIAN is not only used for
|
|
|
|
+ // optimization but also for correctness. We should define an
|
|
|
|
+ // different macro to test the big-endian code path in coded_stream.
|
|
#if !defined(PROTOBUF_DISABLE_LITTLE_ENDIAN_OPT_FOR_TEST)
|
|
#if !defined(PROTOBUF_DISABLE_LITTLE_ENDIAN_OPT_FOR_TEST)
|
|
#define PROTOBUF_LITTLE_ENDIAN 1
|
|
#define PROTOBUF_LITTLE_ENDIAN 1
|
|
#endif
|
|
#endif
|
|
- #if _MSC_VER >= 1300
|
|
|
|
|
|
+ #if defined(_MSC_VER) && _MSC_VER >= 1300
|
|
// If MSVC has "/RTCc" set, it will complain about truncating casts at
|
|
// If MSVC has "/RTCc" set, it will complain about truncating casts at
|
|
// runtime. This file contains some intentional truncating casts.
|
|
// runtime. This file contains some intentional truncating casts.
|
|
#pragma runtime_checks("c", off)
|
|
#pragma runtime_checks("c", off)
|