summaryrefslogtreecommitdiffstats
path: root/libraries/qt5/patches/qtwebengine-5.9.6-gcc8.patch
blob: ba6a49fd7488de0e81c4517dd8025b902a3e1a58 (plain)
From: Fedora
Subject: Fix build for 32-bit platforms

Apparently not upstream, can't find this anywhere. So I assume Fedora is the actual source?
https://src.fedoraproject.org/cgit/rpms/chromium.git/tree/chromium-66.0.3359.170-gcc8-alignof.patch

diff -up chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h
--- a/src/3rdparty/chromium/mojo/public/c/system/macros.h	2018-05-15 14:58:46.448912634 -0400
+++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h	2018-05-15 14:58:52.041784613 -0400
@@ -18,7 +18,13 @@
 #endif
 
 // Like the C++11 |alignof| operator.
-#if __cplusplus >= 201103L
+#if defined(__GNUC__) && __GNUC__ >= 8
+// GCC 8 has changed the alignof operator to return the minimal alignment
+// required by the target ABI, instead of the preferred alignment.
+// This means that on 32-bit x86, it will return 4 instead of 8.
+// Use __alignof__ instead to avoid this.
+#define MOJO_ALIGNOF(type) __alignof__(type)
+#elif __cplusplus >= 201103L
 #define MOJO_ALIGNOF(type) alignof(type)
 #elif defined(__GNUC__)
 #define MOJO_ALIGNOF(type) __alignof__(type)