third_party/protobuf: Disable musttail on MIPS

clang reports:

fatal error: error in backend: failed to perform tail call elimination on a call site marked musttail
This commit is contained in:
klzgrad 2022-09-01 21:32:55 +08:00
parent 61fcc59127
commit ed1868cf30

View File

@ -257,12 +257,12 @@
#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \ #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
!defined(_ARCH_PPC) && !defined(__wasm__) && \ !defined(_ARCH_PPC) && !defined(__wasm__) && \
!(defined(_MSC_VER) && defined(_M_IX86)) && \ !(defined(_MSC_VER) && defined(_M_IX86)) && \
!(defined(__NDK_MAJOR__) && __NDK_MAJOR__ <= 24) !(defined(__NDK_MAJOR__) && __NDK_MAJOR__ <= 24) && !defined(__mips__)
# ifndef PROTO2_OPENSOURCE # ifndef PROTO2_OPENSOURCE
// Compilation fails on ARM32: b/195943306 // Compilation fails on ARM32: b/195943306
// Compilation fails on powerpc64le: b/187985113 // Compilation fails on powerpc64le: b/187985113
// Compilation fails on X86 Windows: // Compilation fails on X86 Windows:
// https://github.com/llvm/llvm-project/issues/53271 // 1
# endif # endif
#define PROTOBUF_MUSTTAIL [[clang::musttail]] #define PROTOBUF_MUSTTAIL [[clang::musttail]]
#define PROTOBUF_TAILCALL true #define PROTOBUF_TAILCALL true