From ced03bfe62470038ac4e8aed3d2892d1d6ca263a Mon Sep 17 00:00:00 2001 From: Brecht Sanders Date: Thu, 11 Feb 2021 17:33:33 +0100 Subject: [PATCH 1/2] Update coded_stream.h Fix for Windows build with MinGW-w64 compiler. Windows is assumed to always be little endian. --- src/google/protobuf/io/coded_stream.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/google/protobuf/io/coded_stream.h b/src/google/protobuf/io/coded_stream.h index a4d5f960a338..df8c4499ad7f 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) From ee43c7897404222609702b19015fd6c2d9212e69 Mon Sep 17 00:00:00 2001 From: Brecht Sanders Date: Thu, 11 Feb 2021 17:35:33 +0100 Subject: [PATCH 2/2] Update port_def.inc Fix for Windows build with MinGW-w64 compiler which has __has_attribute but has issues with __attribute__((weak)). --- src/google/protobuf/port_def.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index d15073a41fa0..11e01601ca8d 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