summaryrefslogtreecommitdiff
path: root/mail/thunderbird/files/patch-i386-protobuf-alignment
blob: 0d58c8644e798be5057883ffaf5792ebae62b214 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# On FreeBSD/i386's LLVM, actual alignment for atomic types requires
# stricter alignment rules, mostly on 8 byte boundaries instead of 4 byte
# as indicated by max_align_t.

--- ./toolkit/components/protobuf/src/google/protobuf/arena_impl.h.orig	2022-08-20 20:07:57.096818000 +0200
+++ ./toolkit/components/protobuf/src/google/protobuf/arena_impl.h	2022-08-20 21:40:47.821690000 +0200
@@ -640,7 +640,7 @@
 #ifdef _MSC_VER
 #pragma warning(disable : 4324)
 #endif
-  struct alignas(kCacheAlignment) CacheAlignedLifecycleIdGenerator {
+  struct alignas(alignof(std::atomic<LifecycleIdAtomic>)) CacheAlignedLifecycleIdGenerator {
     std::atomic<LifecycleIdAtomic> id;
   };
   static CacheAlignedLifecycleIdGenerator lifecycle_id_generator_;