From 5381f405067b28920c7a8dd37b892ce55c654e29 Mon Sep 17 00:00:00 2001 From: Adam Cozzette Date: Tue, 2 May 2023 10:08:56 -0700 Subject: [PATCH] Turn off `clang::musttail` on i386 We found last week that Clang's support for `musttail` on 32-bit Linux does not seem to work reliably, so let's disable it for now. PiperOrigin-RevId: 528817403 --- src/google/protobuf/port_def.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index 0e76a1bf9b65..85501923b0c2 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -294,9 +294,9 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and #ifdef PROTOBUF_TAILCALL #error PROTOBUF_TAILCALL was previously defined #endif -#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \ - !defined(_ARCH_PPC) && !defined(__wasm__) && \ - !(defined(_MSC_VER) && defined(_M_IX86)) && \ +#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \ + !defined(_ARCH_PPC) && !defined(__wasm__) && \ + !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__) && \ !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24) # ifndef PROTO2_OPENSOURCE // Compilation fails on ARM32: b/195943306