diff --git a/src/google/protobuf/io/coded_stream.h b/src/google/protobuf/io/coded_stream.h index a4d5f960a33..df8c4499ad7 100644 --- a/src/google/protobuf/io/coded_stream.h +++ b/src/google/protobuf/io/coded_stream.h @@ -120,12 +120,12 @@ #include #include -#ifdef _MSC_VER +#ifdef _WIN32 // Assuming windows is always little-endian. #if !defined(PROTOBUF_DISABLE_LITTLE_ENDIAN_OPT_FOR_TEST) #define PROTOBUF_LITTLE_ENDIAN 1 #endif -#if _MSC_VER >= 1300 && !defined(__INTEL_COMPILER) +#if defined(_MSC_VER) && _MSC_VER >= 1300 && !defined(__INTEL_COMPILER) // 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) diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index d15073a41fa..11e01601ca8 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -615,7 +615,7 @@ #define PROTOBUF_PRAGMA_INIT_SEG #endif -#if defined(__has_attribute) +#if defined(__has_attribute) && !defined(__MINGW32__) #if __has_attribute(weak) #define PROTOBUF_ATTRIBUTE_WEAK __attribute__((weak)) #endif