aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/protobuf/fix-mingw-tail-call.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/protobuf/fix-mingw-tail-call.patch')
-rw-r--r--vcpkg/ports/protobuf/fix-mingw-tail-call.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/vcpkg/ports/protobuf/fix-mingw-tail-call.patch b/vcpkg/ports/protobuf/fix-mingw-tail-call.patch
new file mode 100644
index 0000000..dc9de46
--- /dev/null
+++ b/vcpkg/ports/protobuf/fix-mingw-tail-call.patch
@@ -0,0 +1,18 @@
+diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
+index 56f995e45e..bc7a01e534 100644
+--- a/src/google/protobuf/port_def.inc
++++ b/src/google/protobuf/port_def.inc
+@@ -228,11 +228,12 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
+ #endif
+ #if ABSL_HAVE_CPP_ATTRIBUTE(clang::musttail) && !defined(__arm__) && \
+ !defined(_ARCH_PPC) && !defined(__wasm__) && \
+- !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__)
++ !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__) && !defined(__MINGW32__)
+ // Compilation fails on ARM32: b/195943306
+ // Compilation fails on powerpc64le: b/187985113
+ // Compilation fails on X86 Windows:
+ // https://github.com/llvm/llvm-project/issues/53271
++// Compilation fails on MINGW: https://github.com/protocolbuffers/protobuf/issues/21625
+ #define PROTOBUF_MUSTTAIL [[clang::musttail]]
+ #define PROTOBUF_TAILCALL true
+ #else