Bläddra i källkod

Merge pull request #749 from xfxyjwf/mingw_endian

Assume LITTLE_ENDIAN for windows build
Feng Xiao 10 år sedan
förälder
incheckning
047a97ff44
1 ändrade filer med 5 tillägg och 2 borttagningar
  1. 5 2
      src/google/protobuf/stubs/port.h

+ 5 - 2
src/google/protobuf/stubs/port.h

@@ -45,12 +45,15 @@
 #endif
 
 #undef PROTOBUF_LITTLE_ENDIAN
-#ifdef _MSC_VER
+#ifdef _WIN32
   // 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)
     #define PROTOBUF_LITTLE_ENDIAN 1
   #endif
-  #if _MSC_VER >= 1300
+  #if defined(_MSC_VER) && _MSC_VER >= 1300
     // If MSVC has "/RTCc" set, it will complain about truncating casts at
     // runtime.  This file contains some intentional truncating casts.
     #pragma runtime_checks("c", off)