conan-recipes/recipes/breakpad/all/patches/0026-string_conversion-workaround-GCC10-codegen-bug.patch
2020-10-19 07:52:36 +10:00

28 lines
971 B
Diff

From 61f9afe7d83da074a72f563e419bffa9d3948154 Mon Sep 17 00:00:00 2001
From: Danny Robson <danny@nerdcruft.net>
Date: Mon, 17 Feb 2020 14:38:43 +1100
Subject: [PATCH 7/7] string_conversion: workaround GCC10 codegen bug
---
src/common/string_conversion.cc | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/common/string_conversion.cc b/src/common/string_conversion.cc
index 11d60a36..bcc54576 100644
--- a/src/common/string_conversion.cc
+++ b/src/common/string_conversion.cc
@@ -115,7 +115,9 @@ void UTF32ToUTF16Char(wchar_t in, uint16_t out[2]) {
}
static inline uint16_t Swap(uint16_t value) {
- return (value >> 8) | static_cast<uint16_t>(value << 8);
+ // HACK: Use addition rather than bitwise-or to workaround an internal
+ // compiler bug in AST generator for left-rotate under GCC-10_pre.
+ return (value >> 8u) + static_cast<uint16_t>(value << 8u);
}
string UTF16ToUTF8(const vector<uint16_t> &in, bool swap) {
--
2.28.0