summaryrefslogtreecommitdiffstats
path: root/development/protobuf3/gcc12.patch
diff options
context:
space:
mode:
Diffstat (limited to 'development/protobuf3/gcc12.patch')
-rw-r--r--development/protobuf3/gcc12.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/development/protobuf3/gcc12.patch b/development/protobuf3/gcc12.patch
new file mode 100644
index 0000000000..866977ecdb
--- /dev/null
+++ b/development/protobuf3/gcc12.patch
@@ -0,0 +1,24 @@
+From b180b2809f7e77fdf7dd075d26a7421085bac58f Mon Sep 17 00:00:00 2001
+From: Adam Cozzette <acozzette@google.com>
+Date: Mon, 9 May 2022 13:15:44 -0700
+Subject: [PATCH] Use __constinit only in GCC 12.2 and up (#9936)
+
+Fixes #9916. GCC appears to have a bug preventing our use of __constinit
+from working correctly, but this bug will be fixed in GCC 12.2.
+---
+ 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 dcb0ff758f..289a42674c 100644
+--- a/src/google/protobuf/port_def.inc
++++ b/src/google/protobuf/port_def.inc
+@@ -650,7 +650,7 @@
+ (!defined(__APPLE__) && __clang_major__ >= 12))
+ #define PROTOBUF_CONSTINIT [[clang::require_constant_initialization]]
+ #define PROTOBUF_CONSTEXPR constexpr
+-#elif PROTOBUF_GNUC_MIN(12, 0)
++#elif PROTOBUF_GNUC_MIN(12, 2)
+ #define PROTOBUF_CONSTINIT __constinit
+ #define PROTOBUF_CONSTEXPR constexpr
+ #else